Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
PHP能做到这一点吗?_Php_Arrays - Fatal编程技术网

PHP能做到这一点吗?

PHP能做到这一点吗?,php,arrays,Php,Arrays,PHP可以做到这一点 我有多个这样的数组: $x[1][2][3] = 10; $x[1][2][4] = 5; $x[1][2][3] = 2; 当我使用print\r($x)时,结果是: Array ( [1] => Array ( [2] => Array ( [3] => 2 [4] => 5 )

PHP可以做到这一点

我有多个这样的数组:

$x[1][2][3] = 10;
$x[1][2][4] = 5;
$x[1][2][3] = 2;
当我使用
print\r($x)
时,结果是:

Array ( [1] => Array ( [2] => Array ( [3] => 2 [4] => 5 ) ) ) 排列 ( [1] =>阵列 ( [2] =>阵列 ( [3] => 2 [4] => 5 ) ) ) 我想这样做:

Array ( [1] => Array ( [2] => Array ( [3] => 12 [4] => 5 ) ) ) 排列 ( [1] =>阵列 ( [2] =>阵列 ( [3] => 12 [4] => 5 ) ) ) 也许你知道我不知道的获取结果的函数或脚本

谢谢你的帮助

添加

$x[1][2][3] = 10;
$x[1][2][4] = 5;
$x[1][2][3] = $x[1][2][3] + 2;
您可以这样做:

$x[1][2][3] += 10;
$x[1][2][4] += 5;
$x[1][2][3] += 2;

问题是,如果没有定义键,就会收到通知。因此,您必须先检查键是否存在,例如,
如果(!isset($x[1][2][3]){$x[1][2][3]=0;}
您要做的是递增:

@$x[1][2][3] += 10;
@$x[1][2][4] += 5;
@$x[1][2][3] += 2;
@
用于抑制错误。这样初始化索引会更好、更明确:

$x[1][2][3] = 0;
$x[1][2][4] = 0;

$x[1][2][3] += 10;
$x[1][2][4] += 5;
$x[1][2][3] += 2;

谢谢你的快速回复,你让我开心D