如何在foreach和if else条件中显示echo仅一次



这是我的json数据

{"order_id";#BCB28FB2", "salutation";Mr", "name"Data","cart"({"id" 13,"name"tes1"treatment_type"tes"},{"id" 14,"name"tes2"treatment_type"tes"},{"id" 15日"name"Panel"treatment_type"panel"},{"id" 16,"name"Paket"treatment_type"paket"},]}

这是我的代码

foreach($data['cart'] as $value){
if($value['treatment_type'] == 'tes'){
echo "Its a tes<br>";
}
elseif($value['treatment_type'] == 'panel'){
echo "Its a panel<br>";
}else{
echo "Its a paket<br>";
}
}

我的网站显示

输入图片描述

在这里输入图像描述如何像这样显示

您可以使用array_unique来完成这项工作

  • 将所有$value['treatment_type']放入临时数组

所以代码是

<?php
$json='{ "order_id":"#BCB28FB2", "salutation":"Mr", "name":"Testing Data", "cart":[ { "id":13, "name":"tes1", "treatment_type":"tes" }, { "id":14, "name":"tes2", "treatment_type":"tes" }, { "id":15, "name":"Panel", "treatment_type":"panel" }, { "id":16, "name":"Paket", "treatment_type":"paket" } ] }';
$data=json_decode($json, true);
foreach($data['cart'] as $value){
$data2[]=$value['treatment_type'];
}
$data3=array_unique($data2);
foreach($data3 as $value){
if($value == 'tes'){
echo "Its a tes<br>";
}
elseif($value == 'panel'){
echo "Its a panel<br>";
}else{
echo "Its a paket<br>";
}
}
?>

实际上对于foreach循环,您可以进一步简化为以下内容:

foreach($data3 as $value){
echo "Its a " . $value . "<br>";
}

您可以在以下沙盒URL查看执行结果:

https://onlinephp.io/c/f503c

最新更新