如何解决检查是否在PHP数组的元素中设置了值
$users [2 elements]
0:
(array) [4 elements]
id: (string) "5"
user_id: (null) 5
email: (string) "test@test.com"
activated: (integer) 0
1:
(array) [4 elements]
id: (string) "6"
user_id: (null) 6
email: (string) "test1@test.com"
activated: (integer) 1
仅当数组的任何元素的activated
设置为1时,我才想在HTML中显示某些内容。
我尝试了if( in_array(['actived'] == 1,$users))
,但没有成功。
我该如何实现?
解决方法
尝试这个if($users->activated == 1)
使用array_column()
获取所有activated
值并在其中搜索:
if (in_array(1,array_column($users,'activated'),true))
,
您可以在循环中迭代数组时执行
foreach ($users as $user) {
if ($user['activated'] === 1) {
// echo html here
}
}
或压缩在html标记内:
<?php foreach ($users as $user): ?>
<?php if ($user['activated'] === 1): ?>
<tr>
<td><?php echo $user['email']; ?></td> // and others
</tr>
<?php endif; ?>
<?php endforeach; ?>
或者您可以使用array_filter
过滤掉内部的所有项目:
$filtered_users = array_filter($users,function($user) {
return $user['activated'] === 1; // get all user with activated key with value 1
});
当然,如果它来自mysql db,那么最好使用WHERE
子句:
SELECT id,user_id,email,activated FROM users WHERE activated = 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。