我正在开发一个PHP 7应用程序,其中包含用户列表及其饮食要求。
如果有任何的用户有饮食要求,我需要显示指向可以显示它们的页面的链接;如果无用户有此类要求,则不会显示此内容。
我的$users
数组如下所示:
[
[ 'name' => 'Andy', 'diet' => '' ],
[ 'name' => 'Bob', 'diet' => 'Vegeterian' ],
[ 'name' => 'John', 'diet' => '' ]
]
所以在上面的例子中,Bob有饮食要求,需要显示按钮。
我决定是否显示按钮的计划涉及循环遍历整个$users
数组,如果它找到任何不为空的'diet'
数组元素,它会显示按钮,例如
$show_dietary_button = false;
foreach ($users as $user) {
if ($user['diet'] !== '') {
$show_dietary_button = true;
break;
}
}
if ($show_dietary_button) {
echo '<a href="#">Show Dietary Requirements</a>';
}
是否有一种更简单的方法可以做到这一点,即用一种关键的饮食来做做任何数组元素的方法&#39;有数据吗?
答案 0 :(得分:2)
您可以使用array_filter
和array_column
的组合来提取所需的列,然后检查它是否为空......
if (!empty(array_filter(array_column($records, 'diet')))) {
$show_dietary_button = true;
}
可替换地:
$show_dietary_button = !empty(array_filter(array_column($records, 'diet')));