Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有引用的PHP对象数组_Javascript_Php_Arrays_Object - Fatal编程技术网

Javascript 带有引用的PHP对象数组

Javascript 带有引用的PHP对象数组,javascript,php,arrays,object,Javascript,Php,Arrays,Object,我知道如何使用下面的代码在javascript中实现这一点 var objectArray = []; var cnt = 0; while(cnt < 5) { objectArray[cnt] = {}; objectArray[cnt]['field01'] = cnt; objectArray[cnt]['field02'] = "Nothing"; cnt++; } 比如说 在php中是否有一种不使用类的等效方法来执行此操作?此

我知道如何使用下面的代码在javascript中实现这一点

var objectArray = [];
var cnt         = 0;

while(cnt < 5) {
    objectArray[cnt] = {};
    objectArray[cnt]['field01'] = cnt;
    objectArray[cnt]['field02'] = "Nothing";
    cnt++;
}
比如说


在php中是否有一种不使用类的等效方法来执行此操作?

此php代码将与您的脚本执行相同的操作:

$objectArray = array();
$cnt = 0;

while($cnt < 5){
    $objectArray[$cnt] = array(
        'field01'   => $cnt,
        'field02'   => 'Nothing'
    );
    $cnt++;
}

echo $objectArray[2]['field01'];
$objectArray=array();
$cnt=0;
而($cnt<5){
$objectArray[$cnt]=数组(
'field01'=>$cnt,
“field02”=>“无”
);
$cnt++;
}
echo$objectArray[2]['field01'];

语法与Javascript非常相似,不需要使用对象

$array = []; // Will work PHP 5.4+, otherwise use array();
$cnt = 0;

while($cnt < 5) {
    $array[$cnt]['field01'] = $cnt;
    $array[$cnt]['field02'] = 'Nothing';
    cnt++;
}
$array=[];//将使用PHP5.4+,否则使用array();
$cnt=0;
而($cnt<5){
$array[$cnt]['field01']=$cnt;
$array[$cnt]['field02']='Nothing';
cnt++;
}
或者

$array=[];
对于($cnt=0;$cnt'无'
];
}

是的,这是一个输入错误,如果您想要一个空对象,请使用StdClass,但我建议您只使用数组。与javascript不同,PHP中的数组可以保存任意标量值(但仍需排序)。php中不需要特别的东西,因为php数组总是散列映射,因此可以使用数字和字符串索引。是什么特别让您认为您需要一个类?关于“this”有什么特别之处?您建议使用哪种方法?是您建议的方法还是@patrick建议的方法,因为这两种方法似乎都可以使用
$array = []; // Will work PHP 5.4+, otherwise use array();
$cnt = 0;

while($cnt < 5) {
    $array[$cnt]['field01'] = $cnt;
    $array[$cnt]['field02'] = 'Nothing';
    cnt++;
}
$array = [];

for( $cnt=0; $cnt<5; $cnt++ ) {
    $array[$cnt]['field01'] = $cnt;
    $array[$cnt]['field02'] = 'Nothing';
}
$array = [];

for( $cnt=0; $cnt<5; $cnt++ ) {
    $array[] = [
        'field01' => $cnt,
        'field02' => 'Nothing'
    ];
}