PHP数组变量重复利用的Bug

一,有问题的代码

for($i = 1;$i < 3;$i++){
    echo "-------${i}-----------\r\n";
    $arr['cmd'] = 'insert';
    $arr['i'] = $i;
    print_r($arr);
    $arr = serialize($arr);
}

二,有问题的代码输出

三,正确的代码

使用数组前,最好先定义初始化。

for($i = 1;$i < 3;$i++){
    echo "-------${i}-----------\r\n";

    //定义为数组变量并且初始化
    $arr = array();
    $arr['cmd'] = 'insert';
    $arr['i'] = $i;
    print_r($arr);
    $arr = serialize($arr);
}

四,正确的代码输出

时间: 2024-11-02 12:50:37

PHP数组变量重复利用的Bug的相关文章

bash shell数组变量

一.定义数组变量 1.语法 (1)ArrayName=(parameter1 parameter2 ...) 例1.定义一个数组名为name,值为claire,obama,george的数组 name=(claire obama george ) (2)ArrayName=( parameter1 parameter2 ... ) 同样我们将例1改成第二种方式 name=( claire obama george ) 二.函数的访问 (1)下标访问 ${ArrayName[0]}   例1中就是

数组变量和指针的关系

老师说数组变量可以被看作是const的指针变量,到底是"可以被看作",还是"就是"指针呢? 用程序证据来说明你的观点. (提示:如果对const指针的所有的操作都可以对数组变量做,而且结果一致,就说明数组变量就是指针:如果有某个操作不能做,或者结果不一致,就说明不是指针) #include <stdio.h> int main(){ int a[] = {1,1,2,3,4,5,6,7,8,9,0,}; int *const p = &a[0];

列表和数组变量

1. 列表 列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , "hello" , 2),空列表:(). 2. 数组——列表的存贮 列表存贮于数组变量中,与简单变量不同,数组变量以字符"@"打头 (1)数组变量创建时初始值为空列表: (2)同一个名字可以同时用于命名数组以及变量: 数组的存储 下标存取,第一个下标为0 数组间拷贝,@result = @original 数组给列表赋值,@list2 = (1, @list1, 5); #

perl5 第四章 列表和数组变量

第四章 列表和数组变量 by flamephoenix 一.列表二.数组--列表的存贮  1.数组的存取  2.字符串中的方括号和变量替换   3.列表范围  4.数组的输出  5.列表/数组的长度  6.子数组  7.有关数组的库函数 一.列表  列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , "hello" , 2),空列表:().  注:只含有一个数值的列表(如:(43.2) )与该数值本身(即:43.2 )是不同的,但它们可以互相转化或赋值. 

声明数组变量/// 计算所有元素的总和/打印所有元素总和/输出/foreach循环/数组作为函数的参数/调用printArray方法打印

实例 下面是这两种语法的代码示例: double[] myList; // 首选的方法 或 double myList[]; // 效果相同,但不是首选方法 创建数组 Java语言使用new操作符来创建数组,语法如下: arrayRefVar = new dataType[arraySize]; 上面的语法语句做了两件事: 一.使用dataType[arraySize]创建了一个数组. 二.把新创建的数组的引用赋值给变量 arrayRefVar. 数组变量的声明,和创建数组可以用一条语句完成,如

Shell函数,Shell数组,变量替换

定义函数 function 函数名 { 函数的功能体 ...... } 函数名(){ 函数的功能体 ...... } 如何调用函数 函数名 函数的使用规则? 1)先定义后调用,可以只定义不调用 2)定义放上面,调用放下面 3)函数名区分大小写 4)函数名相同,后定义的生效 5)函数名不准使用特殊符号和关健字 6)在函数体内定义的变量叫局部变量,只能在当前函数内使用 7)在函数体外定义的变量叫全局变量 8)在第二个函数里敲上第一个函数的函数名,这样可以调用第一个函数的变量 例 #!/bin/bas

[Swift] 数组恒等 === 的 bug?!

Swift 中的数组是由结构体实现的: struct Array<T> : MutableCollection, Sliceable { typealias Element = T var startIndex: Int { get } var endIndex: Int { get } subscript (index: Int) -> T func generate() -> IndexingGenerator<T[]> typealias SliceType =

block中无法使用C数组变量

在Objective-C的block中无法使用C数组,即使我们不对C数组做任何改变,编译的时候也会报错: #include <stdio.h> int main() { const char text[] = "hello"; //声明数组类型变量 void (^blk)(void) = ^{ printf("%c\n", text[2]); //只是读取数组变量 }; } 这是编译之后的结果: 解决的办法是使用指针声明数组: #include <

php的数组变量

数组就是存储同一类型的多个变量的 一种特殊的类型 php的数组有两种形态 1.普通类型 eg:$cars = array("Volvo","BMW","SAAB");//关键字array,并且数组变量的后面不用加中括号 [] 调用的时候, $cars[0]; 2.关联数组,有点类似于Map类型,键值对 $age=array("Bill"=>"35","Steve"=>&quo