我正在开发一个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>';
}
是否有一种更简单的方法来做到这一点,即一种方法说做任何数组元素的关键'diet'有数据在他们?
您可以使用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')));