我在数组中有一个数组,我希望从那里获得user_id以设置为条件。我已经尝试了一切,没有成功。请帮忙。在此先感谢
<?php $post_user_obj = array('PostLike' => $post['PostLikesArray']); ?>
Array
(
[PostLike] => Array
(
[0] => Array
(
[user_id] => 47
[post_id] => 109
)
[1] => Array
(
[user_id] => 62
[post_id] => 109
)
)
)
<?php if((array_search($id, array_column($post_user_obj, 'user_id')))): ?>
<?php if(($id == $post_user_obj['PostLike']['user_id'])): ?>
答案 0 :(得分:0)
您需要引用父数组索引。如:
$id = $post_user_obj['Postlike'][0]['user_id'];
或者列出所有
foreach ($post_user_obj['PostLike'] as $this_user){
$id = $this_user['user_id'];
}
答案 1 :(得分:0)
其中包含数组的数组称为多维数组。
您可以使用foreach遍历数组。然后使用另一个foreach再次遍历子阵列。例如:
$PostLike = array(array('user_id' => 47, 'post_id' => 109), array('user_id' => 62, 'post_id'=> 109));
foreach($PostLike as $subarray) {
foreach($subarray as $name => $value) {
if ($name == 'user_id') {
echo $value . "\n";
}
}
}
输出:
47
62
如果您想搜索特定值,可以执行以下操作:
$PostLike = array(array('user_id' => 47, 'post_id' => 109), array('user_id' => 62, 'post_id'=> 109));
$key = array_search(62, array_column($PostLike, 'user_id'));
if($key !== false){
echo $PostLike[$key]['user_id'];
} else {
echo 'not present';
}
输出:
62