2-х мерный массив в строки с запятой
Мой текущий php-код возвращает три массива. Я хочу преобразовать эти три массива в 3 строки, разделенные запятыми.
Мой массив эхо выглядит так...
array (size=3)
0 =>
array (size=3)
0 => string '1' (length=1)
1 => string 'here' (length=4)
2 => string 'Skincare composition against free radicals' (length=42)
1 =>
array (size=3)
0 => string '2' (length=1)
1 => string 'tere' (length=4)
2 => string 'Compositions and methods for modification of skin lipid content' (length=63)
2 =>
array (size=3)
0 => string '3' (length=1)
1 => string 'fere' (length=4)
2 => string 'Method and apparatus for acne treatment' (length=39)
Помогите мне с простым фрагментом php-кода преобразовать один массив в значения, разделенные запятыми. Я буду работать над циклом для переноса моих трех массивов в строки.
4 ответа
Решение
Назовите свой массив for example: $array1
затем используйте foreach для создания одного массива. Оттуда используйте implode, чтобы сделать строку. НАПРИМЕР:
foreach ($array1 as $value1){
foreach ($value1 as $value){
$newString[]=$value;
}
}
$string=implode(", ", $newString);
echo $string; //will echo comma separated string
Если вы пытаетесь превратить массив в строку, разделенную запятыми, используйте implode():
<?php
$oldArray = array(array("red","green","blue"),array("Larry","Moe","Curly"),array("puppy dogs","rainbows","butterflies"));
foreach($oldArray as $array){
$newArray[] = implode(",",$array);
}
echo "<pre>";
print_r($newArray);
echo "</pre>";
?>
/*
Output:
Array
(
[0] => red,green,blue
[1] => Larry,Moe,Curly
[2] => puppy dogs,rainbows,butterflies
)
*/
Не совсем понятно, о чем вы спрашиваете, но я предполагаю, что вы хотите implode
внутренние массивы и заканчиваются массивом из 3 строк вместо. Если я прав, следующее помогает:
$arr = array(
array(1, 'badger', 'longer text about badger'),
array(2, 'ferret', 'longer text about ferret'),
array(3, 'hamster', 'longer text about hamster'),
);
// This is the line you're interested in
$newArr = array_map(function($el) { return implode(', ', $el); }, $arr);
var_dump($newArr);
/** Gives output:
array(3) {
[0]=>
string(35) "1, badger, longer text about badger"
[1]=>
string(35) "2, ferret, longer text about ferret"
[2]=>
string(37) "3, hamster, longer text about hamster"
}
**/