php foreach 循环数组 并设定key
foreach($role as $k=>$v){ $arrayRole[$k=$v->role_id]=$v->role_code; }
如题 我写的 key 总是设置不了
回复讨论(解决方案)
怎么设置不了,print_r($role); 看看
foreach($role as $k=>$v){
$arrayRole[$v->role_id]=$v->role_code;
}
foreach($role as $k=>$v){
$arrayRole[$v->role_id]=$v->role_code;
}
或
foreach($role as $k=>$v){
$arrayRole[$k][$v->role_id]=$v->role_code;
}
$k=$v->role_id
这个能当键吗
输出 的是 [user_roles] => Array ( [0] => 1 [1] => 3 ) 前边的 键值 还是 0 1
那当然不对了。第二维必须是一个对象。且有 role_id,role_code 属性才行。
.....不是 我的是 一维数组 前边的是yii 的格式
仔细说明下吧 我做 的只是向 [user_roles] 放一个数组 数组
foreach($role as $k=>$v){
$arrayRole[$k=$v->role_id]=$v->role_code;
}
我这样写的数组 放进去 以后发现 数组的 key 没有被设置成功
print_r($role);
贴出结果
Array ( [user_name] => sss [user_password] => 123 [user_roles] => Array ( [0] => 1 [1] => 3 ) [user_sex] => 男 [user_birthday] => 1992-12-23 [user_relation] => 18716439681 [dep_id] => dep_cn [user_address] => xxxxxx [user_allowed] => [user_createtime] => 0 [user_lasttime] => 0 [user_realname] => demo [user_id] => )
我说的 红色区域
1、你的这个是数组,不是对象。不能用对象方式访问
2、你的 foreach( $role as $k=>$v){ 中的 是指那套红的部分吗?显然不是
按我的要求,应该是整个数据
foreach($role as $k=>$v){
if($k == 'user_roles') { .... }
}
你最好在描述一下,你打算加工成什么样的形式
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'); ?>
这是 红色部分 的 代码
我只是向 [user_roles] => Array ( [0] => 1 [1] => 3 ) 有下划线的地方 上边代买生成的 我只是想问 为什么 我的数组 key 值设置不成功 怎么扯到这里来了
不说其他的,你本身那么写会有问题。
foreach里面定义了$k
然后新数组又有$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'); ?>
这是 红色部分 的 代码
我只是向 [user_roles] => Array ( [0] => 1 [1] => 3 ) 有下划线的地方 上边代买生成的 我只是想问 为什么 我的数组 key 值设置不成功 怎么扯到这里来了
检查$v是否有role_id属性
foreach($role as $k=>$v){ $arrayRole[$v->role_id]=$v->role_code; }
我想问的是 我的 这段 代码有没有问题 还有 foreach 循环 赋值并设置键值 还有没有其他方法 以及你有能力有爱心的 话 告诉我下 我的方法哪里出错了 。 看完这些的 小生在此拜谢了。
我想要的数组 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'); ?>
这是 红色部分 的 代码
我只是向 [user_roles] => Array ( [0] => 1 [1] => 3 ) 有下划线的地方 上边代买生成的 我只是想问 为什么 我的数组 key 值设置不成功 怎么扯到这里来了
检查$v是否有role_id属性
role_id 有值
单纯从这个foreach来看是没有问题的。
哦 我在研究研究
foreach 是没问题的,关键是你的数组没有你说的 role_id 和 role_code 元素。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

Using preprocessing statements and PDO in PHP can effectively prevent SQL injection attacks. 1) Use PDO to connect to the database and set the error mode. 2) Create preprocessing statements through the prepare method and pass data using placeholders and execute methods. 3) Process query results and ensure the security and performance of the code.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.
