[英]Print each 2 values of an array followed by an empty line
例如,我有這個數組:
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
但是,首先,請修復您的數組,因為它不正確-它具有重復的鍵/索引。
$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;
作為記錄,這是我編輯的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;
}
非常感謝,您的幫助很大!
您可以維護一個變量(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;
}
我希望我能解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.