我有这个数组:
myArray("key1"=>"value1", "key2"=>"value2", "key3"=>"value3", "key4"=>"value4", "key5"=>"value5", "key6"=>"value6");
我需要使用空行显示此数组的值,每个值为2。我尝试过以下方法:
function array_implode_with_value($array){
$return = '';
foreach ($array as $value){
$return .= $value . PHP_EOL . PHP_EOL;
}
return $return;
}
$description = array_implode_with_value($myArray);
我的功能只是在每个值后添加2个换行符:
value1
value2
value3
value4
value5
value6
我想要的是:
value1
value2
value3
value4
value5
value6
答案 0 :(得分:2)
但是,首先,请修复你的数组,因为它不正确 - 它有重复的键/索引。
$my = array(
"type1"=>"car", "brand1"=>"Citroen",
"type2"=>"tablet", "brand2"=>"Asus",
"type3"=>"cheese", "brand3"=>"Gouda"
);
$my = array_chunk($my, 2);
foreach($my as $m)
echo implode(PHP_EOL, $m) . PHP_EOL . PHP_EOL;
正确的(或数据的最佳表示)将如下所示
$my = array(
array("type" => "car", "brand" => "Citroen"),
array("type" => "tablet", "brand" => "Asus"),
array("type" => "cheese", "brand" => "Gouda")
);
foreach($my as $m)
echo $m['type'] . PHP_EOL . $m['brand'] . PHP_EOL . PHP_EOL;
答案 1 :(得分:2)
对于记录,这是我编辑的divyenduz函数版本:
function array_implode_with_value($array){
$return = '';
$num=0;
foreach ($array as $value){
$num+=1;
$return .= $value . PHP_EOL;
if($num%2==0)
$return .= PHP_EOL;
}
return $return;
}
非常感谢所有人,你们非常乐于助人!
答案 2 :(得分:1)
只要你的计数器是偶数,你就可以维护一个变量(Counter)并将PHP_EOL添加到$ return变量。
function array_implode_with_value($array){
$return = '';
$num=0;
foreach ($array as $value){
$num+=1;
$return .= $value;
if($num%2==0)
$return .= PHP_EOL . PHP_EOL;
}
return $return;
}
我希望我能解决这个问题。