Как преобразовать массив в массив в строку, это означает, что у меня есть один результирующий набор, имеющий значение id страны, но результирующий набор будет в массиве в массиве.
Что-то вроде ниже кода:
Array ( [0] => Array ( [country_id] => 7 ) [1] => Array ( [country_id] => 8 ) [2] => Array ( [country_id] => 9 ) [3] => Array ( [country_id] => 10 ) [4] => Array ( [country_id] => 1 ) [5] => Array ( [country_id] => 2 ) [6] => Array ( [country_id] => 3 ) [7] => Array ( [country_id] => 4 ) [8] => Array ( [country_id] => 5 ) )
Я хочу, чтобы этот список стран в одну строку, например 7,8,9,10,1,2,3,4,5, но без циклов.
У кого-нибудь есть идея, пожалуйста, дайте мне знать …?
Для этого вы можете использовать функции array_column () и implode () .
Вот как вы можете это сделать,
$values=array_column($array,"country_id"); $country_string=implode($values);
array_column () возвращает значения из одного столбца ввода, идентифицированного с помощью column_key (country_id).
implode () возвращает строку, содержащую строковое представление всех элементов массива в том же порядке, с строкой клея между каждым элементом.
implode () может иметь два аргумента, сначала как клей, которым вы хотите присоединиться к элементам, а второй – как массив элементов. Если первый аргумент не задан, то по умолчанию клей – «,».
Используйте array_column
и implode
для (PHP 5 >= 5.5.0, PHP 7)
как
$data = array_column($records, 'country_id'); echo implode(",",$data);
попробуй это,
$newarray = array(); foreach ($array as $item) { $newarray[] = $item['country_id']; } echo implode(",",$newarray);
Я надеюсь, что это будет полезно.