PHP循环体内给数组赋值
  TEZNKK3IfmPf 2023年11月12日 18 0

循环体中给数组赋值

一:未初始化数组,直接赋值

<?php

$list = [1, 2, 3];

foreach ($list as $value) {
    if($value != 2){
        $data[0] = $value ;
    }

    var_dump($data) ; 
}

/** array(1) { [0]=>int(1) } array(1) { [0]=>int(1) } array(1) { [0]=>int(3) } */

二:先初始化数组,再赋值

<?php

$list = [1, 2, 3];

foreach ($list as $value) {
    // 先初始化数组
    $data = [] ; 

    if($value != 2){
        $data[0] = $value ;
    }

    var_dump($data) ; 
}

/** array(1) { [0]=>int(1) } array(0) { } array(1) { [0]=>int(3) } [Finished in 0.1s] */

比较发现:
方式一,循环体中没有给数组进行初始化,当$value==2时得到了错误的内容
整个循环过程中$data 指向了同一个对象,下次循环并没有新建对象

方式二,每次循环前都进行数组初始化操作,确保数组内容是空的

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   28   0   0 算法php
  TEZNKK3IfmPf   2024年05月17日   41   0   0 数组php
  TEZNKK3IfmPf   2024年05月17日   50   0   0 mysqlphp
  TEZNKK3IfmPf   2024年05月17日   37   0   0 字符串php
TEZNKK3IfmPf