PHP循环体内给数组赋值

简介: PHP循环体内给数组赋值

循环体中给数组赋值

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

<?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 指向了同一个对象,下次循环并没有新建对象

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

相关文章
|
2月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
12 0
php案例:自己写个数组转换成对象 对象转换成数组的的功能出来吧
php案例:自己写个数组转换成对象 对象转换成数组的的功能出来吧
php案例:自己写个数组转换成对象 对象转换成数组的的功能出来吧
|
3月前
|
JSON PHP 数据格式
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
|
4月前
|
PHP Python
关于python变量的再次折腾,没有PHP的引用赋值
今天,重看php文档的时候,发现了这样的讲法
15 0
|
4月前
|
JSON PHP 数据格式
【PHP学习】—数组的定义和遍历(三)
【PHP学习】—数组的定义和遍历(三)
|
6月前
|
PHP 数据库 索引
PHP中的for循环和forEach循环
PHP中的for循环和forEach循环
|
7月前
|
搜索推荐 算法 PHP
PHP 数组(Array) - 排序算法
PHP 数组(Array) - 排序算法
23 0