我正在尝试从我的数据创建一个Json + ld架构,但我对这个arraylist有问题。
我需要知道数组列表中的最后一个元素
foreach ($malzemeler as $val):
echo 'ana'.$fkey.'</br>';
foreach($val['malzemeler'] as $val):
echo $val.', ';
endforeach;
endforeach;
此代码可帮助我获取所需的所有值,但我必须添加&#34;,&#34;他们直到最后一个元素
Array
(
[0] => Array
(
[title] => Malzemeler
[malzemeler] => Array
(
[0] => 1 su bardağı kırmızı mercimek
[1] => 1 adet soğan
[2] => 1 yemek kaşığı un
[3] => 1 adet havuç
[4] => yarım yemek kaşığı biber ya da domates salçası (rengi kırmızı olsun isterseniz artırabilir ya da hiç kullanmayabilirsiniz)
[5] => Tuz
[6] => 1 çay kaşığı karabiber
[7] => yarım çay kaşığı kimyon (isteğe bağlı)
[8] => 1 litre su
[9] => 2 yemek kaşığı sıvı yağ
)
)
[1] => Array
(
[title] => Sosu için
[malzemeler] => Array
(
[0] => 2 yemek kaşığı tereyağı
[1] => 1 tatlı kaşığı kırmızı toz biber
)
)
)
"1","2","3","4","5","6","7"
foreach ($malzemeler as $key => $val):
$last_key = end(array_keys($malzemeler));
if ($key == $last_key):
echo implode(', ',$val['malzemeler']).'"'.PHP_EOL;
else:
foreach ($val['malzemeler'] as $val):
echo '"'.$val.'", '.PHP_EOL;
endforeach;
endif;
endforeach;
答案 0 :(得分:0)
编辑:现在我可以看到您要完成的任务:
for($i = 0; $i < count($malzemeler) - 1; $i++)
echo '"' . implode('", "',$malzemeler[$i]) . '", ' . PHP_EOL;
echo '"' . implode('", "',$malzemeler[$i]) . '"' . PHP_EOL;
旧答案:
不是循环遍历$malzemeler
的每个元素,而是使用comp.lang.c FAQ,它会将数组的所有元素连接在一起,放置在它们之间传递的任何字符串。
foreach ($arr as $val)
echo 'ana'. $fkey.'<br/>'.implode(', ', $val['malzemeler']);
您也可能不应像在foreach
循环中那样使用相同的变量名。*
*引用需要
答案 1 :(得分:0)
这是答案,但似乎有点spagetti抱歉,谢谢@Terminus的帮助
<?php foreach ($malzemeler as $key => $val): $last_key = end(array_keys($malzemeler));
if ($key == $last_key):
echo '"';
echo implode(', ', $val['malzemeler']).'"'.PHP_EOL;
else:
foreach ($val['malzemeler'] as $val):
echo '"'.$val.'", '.PHP_EOL;
endforeach;
endif;
endforeach;
?>