数组中的php不适用于Dynamicly数组

数组中的php不适用于Dynamicly数组,php,arrays,yii,Php,Arrays,Yii,当用户id在数组中时,我尝试打印“Backed”。 这是我的密码: $backId = app()->user->model()->id; $backers = MProjectBacker::model()->findAll('projectId=:pid', array(':pid' => $data->id)); foreach ($backers as $b) { if (in_array($backId, $b, true)) {

当用户id在数组中时,我尝试打印“Backed”。 这是我的密码:

$backId = app()->user->model()->id;
$backers = MProjectBacker::model()->findAll('projectId=:pid', array(':pid' => $data->id));

foreach ($backers as $b) {
    if (in_array($backId, $b, true)) {
        echo "Backed!";
    } else {
        echo "Not Backed!";
    }
}
但是没有结果也没有错误。

“如果第三个参数strict设置为TRUE,则in_array()函数还将检查大海捞针的类型。”

但为什么要使用in_数组函数来实现这一点呢

为什么不检查一下存储$backId的字段呢

foreach ($backers as $b) {
    if ( (int) $b['fieldNameWhereYouStoreTheBackId'] == (int) $backId ) {
        echo "Backed!";
    }
    else {
        echo "Not Backed!";
    }
}

删除in_数组函数中的true是$backers多维数组(数组数组数组)?检查值的类型(字符串或数字)。您已经将in_array()的第三个参数设置为true,因此类型也必须相同…是的,后台是多维数组,值的类型是stringOk,那么$b是数组(带有字符串值),我猜$backId也是字符串?好。。。有YII经验的人会在这种情况下帮助你…是的$backId也是字符串,好的,谢谢!打印所有项目的“已备份”是否可以发送echo“”的结果;印刷(支持者);和var_dump($backId);非常感谢。用你的答案和调试我的代码解决了!出了什么问题?