我没有那么多PHP使用经验,我正在寻求以下方面的帮助:
我从具有列" countries
"的SQL表中获取数据。包含国家名称和列#34; desc
"包含评论。
在我的网页上,我根据匹配的国家/地区(根据特定条件)创建一个数组,以便按字母顺序对它们进行排序,并在每个数字前面添加图像(图像与国家/地区的名称相同)。 最后,我只是回显这个数组,以便在页面上显示国家和相应的图像。 到目前为止,所有这些都运行良好(使用下面的代码)。
我的代码:
$countries = '';
$valC = '';
$countC = 0;
foreach ($objDays->days as $days) {
if(($days->dateMatch == "Yes") && ($days->locales != "")) {
$inputC[] = explode(',', $days->locales);
$countC++;
}
}
if($countC == 0) {
$countries = " <img src='images/icons/emotion_what.png' alt='' /> No data on file for this date.";
} else {
$arrC = array_map("trim", call_user_func_array("array_merge", $inputC));
sort($arrC);
array_walk($arrC, function (&$valC) { $valC = "<img src='images/icons/flags-32/flag_" . str_replace(" ", "_", $valC) . ".png' alt='' id='c" . $valC . "' style='width:32px' /> " . $valC; } );
$countries = implode(' ', $arrC);
}
// ...
echo $countries;
更新
不再需要explode
,因为现在每个单元格中只有一个国家/地区。
我无法做到以下几点:
我还要添加我的专栏&#34; desc
&#34;的评论。作为我所回应的每个国家的(悬停)标题。
我可以通过$objDays->days->desc
resp获取此信息。 $days->desc
但无法找到添加此功能的方法。
有人可以帮助我吗?
答案 0 :(得分:3)
您可以将子数组存储在$ inputC中,如下所示:
foreach ($objDays->days as $days) {
if(($days->dateMatch == "Yes") && ($days->locales != "")) {
$inputC[] = array(
"text" => explode(',', $days->locales),
"desc" => $days->desc
);
$countC++;
}
}
修改你的array_walk
array_walk($arrC, function (&$valC) { $valC = "<img src='images/icons/flags-32/flag_" . str_replace(" ", "_", $valC['text']) . ".png' alt='".$valC['desc']."' id='c" . $valC['text'] . "' style='width:32px' /> " . $valC['text']; } );
编辑:你的装饰&amp; array_merge肯定会被破坏,需要更新。