相同键具有两个不同键数组和键具有多维数组之间的区别

问题描述 投票:0回答:1

我是编程和学习 PHP 的新手,我阅读了函数

array_push()
并创建了一个简单的程序用于学习目的。

这是我的代码

$one = ['one', 'two', 'three'];
$two = ['first', 'second', 'third'];

$oneArray = $twoArray = $mainOne = $mainTwo = [];

foreach ($one as $o) {
    array_push($oneArray, $o);
}

foreach ($two as $t) {
    array_push($twoArray, $t);
}

$mainOne['push']['one'] = $one;
$mainOne['push']['two'] = $two;

$mainTwo['push'] = ['one' => $one, 'two' => $two];

echo '<pre>';
print_r($mainOne);

echo '<br>';

print_r($mainTwo);

所以输出与此代码相同

$mainOne['push']['one'] = $one;
$mainOne['push']['two'] = $two;

还有这个

$mainTwo['push'] = ['one' => $one, 'two' => $two];
Array
(
    [push] => Array
        (
            [one] => Array
                (
                    [0] => one
                    [1] => two
                    [2] => three
                )
            [two] => Array
                (
                    [0] => first
                    [1] => second
                    [2] => third
                )
        )
)

Array
(
    [push] => Array
        (
            [one] => Array
                (
                    [0] => one
                    [1] => two
                    [2] => three
                )
            [two] => Array
                (
                    [0] => first
                    [1] => second
                    [2] => third
                )
        )
)

那么这两行有什么区别吗

$mainOne['push']['one'] = $one;
$mainOne['push']['two'] = $two;

$mainTwo['push'] = ['one' => $one, 'two' => $two];

当我的朋友看到代码时,他告诉我是否要发送此数据

$mainOne['push']['one'] = $one;
$mainOne['push']['two'] = $two;

在jquery中的ajax响应中,它不能与循环一起使用,它将显示对象而不是任何数据,但这将起作用

$mainTwo['push'] = ['one' => $one, 'two' => $two];

所以我不了解jquery或ajax,我只是编程新手,想知道这两行之间的区别。

php arrays array-push
1个回答
0
投票

在代码中,使用 array_push 的部分不会影响变量 $mainOne 和 $mainTwo 的结果。 array_push 函数只是将一个元素附加到数组的末尾。

例如:

$one = [1, 2, 3];
$two = [1, 2];
array_push($two, 3);

var_dump($one, $two);

所以,关于你的问题:

$mainOne['push']['one'] = $one;
$mainOne['push']['two'] = $two;

和:

$mainTwo['push'] = ['one' => $one, 'two' => $two];

没有区别,而且它们是等价的,因为数组中的每个位置都分配了一个元素,在本例中是一个数组。

© www.soinside.com 2019 - 2024. All rights reserved.