我正在使用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
索引存在,那么这里有什么问题?
答案 0 :(得分:3)
使用foreach()
时,您必须首先指定要迭代的数组(在本例中为$u
),并在"之后指定另一个变量作为"指示应该在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;
}
答案 1 :(得分:0)
试试这个
$criteria = new CDbCriteria;
$criteria->select = 'username, password';
$u = Users::model()->findAll($criteria);
foreach($u as $val){
$users["$val->username"] = "$val->password";
}
print_r($users);