我正在使用Yii,我想打印一个数组的索引,但我得到一个错误,索引是未定义的,这是我的代码:
$criteria = new CDbCriteria;
$criteria->select = 'username, password'; // select fields which you want in output
$u = Users::model()->findAll($criteria);
foreach($u as $u)
$users["$u->username"] = "$u->password";
echo $users['a'];
我打印了数组,并确保a
索引存在,那么这里的问题是什么?
使用foreach()
时,必须首先指定要迭代的数组(本例中为$u
),并在"as"之后指定一个不同的变量,以指示该变量应在foreach()
循环范围内。您还必须将$users
声明为一个数组,以便可以向其中添加项。当它是索引值或数组值时,不需要双引号。
// create $users array to store values
$users = array();
// iterate over the $u array referring to elements as $user
foreach ( $u as $user ){
// place properties of $user into the $users array
$users[$user->username] = $user->password;
}
试试这个
$criteria = new CDbCriteria;
$criteria->select = 'username, password';
$u = Users::model()->findAll($criteria);
foreach($u as $val){
$users["$val->username"] = "$val->password";
}
print_r($users);