foreach($role as $k=>$v){ $arrayRole[$k=$v->role_id]=$v->role_code; }
なぜ設定できないのか見てみましょう
foreach($role as $k=>$ v){
$arrayRole[$v->role_id]=$v->role_code; ole[$v->role_id; ;role_code; 3) 前のキーの値は 0 1 のままです
.....いいえ、私のものは yii の形式です
私がやっているのは、配列を [user_roles] 配列
に入れるだけです。 ($role as $k=> ;$v){
$arrayRole[$k=$v->role_id]=$v->role_code;
このように書いた配列を入れて、配列のキーが正しく設定されていないことがわかりました
print_r($role);
結果を投稿します
Array ( [user_name] => sss [user_password] => 123 [user_roles] =>配列 ( [0] => 1 [1] => 3 ) [user_sex] => 男性 [user_birthday] => 1992-12-23 [dep_id] => user_address] => xxxxxx [user_allowed] => [user_creat etime] => デモ [user_id] =>赤い領域
1. これはオブジェクトではなく配列です。オブジェクト モードではアクセスできません
2. foreach( $role as $k=>$v){ の「」は赤い部分を指していますか?明らかにそうではありません
私のリクエストによれば、データ全体である必要があります
foreach($role as $k=>$v){
if($k == 'user_roles') { .... }
}
あなた どのような形式に処理する予定かを記述するのが最善です
foreach($role as $k=>$v){ 赤い部分です
$k=$v->role_id
そのように書くと問題が発生します。
$k は foreach で定義されます
このとき、新しい配列は $k=$v->role_id; となり、foreach の $k が変更されます。
あなたが望む配列はどのようなものですか?
foreach($role as $k=>$v){ 是 红色部分的
<?php foreach($role as $k=>$v){ $arrayRole[$v->role_id]=$v->role_code; } ?> <?php echo $form->labelEx($model,'user_roles'); ?> <?php echo $form->checkBoxList($model,'user_roles',$arrayRole); ?> <?php echo $form->error($model,'user_roles'); ?>
foreach($role as $k=>$v){ $arrayRole[$v->role_id]=$v->role_code; }
我想要的数组 key 放 role的 id value 放 role的编码
foreach($role as $k=>$v){ 是 红色部分的
<?php foreach($role as $k=>$v){ $arrayRole[$v->role_id]=$v->role_code; } ?> <?php echo $form->labelEx($model,'user_roles'); ?> <?php echo $form->checkBoxList($model,'user_roles',$arrayRole); ?> <?php echo $form->error($model,'user_roles'); ?>
单纯从这个foreach来看是没有问题的。
哦 我在研究研究
foreach 是没问题的,关键是你的数组没有你说的 role_id 和 role_code 元素。