1
我试着做多阵列像这样:增加值
array(1) {
["Test"]=>
array(1) {
[0]=>
array(3) {
["opgang1"]=>
array(2) {
["etage2"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(50)
["x2"]=>
int(150)
["y1"]=>
int(0)
["y2"]=>
int(0)
}
}
["etage1"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(100)
["x2"]=>
int(300)
["y1"]=>
int(0)
["y2"]=>
int(0)
}
}
}
["opgang2"]=>
array(2) {
["etage2"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(50)
["x2"]=>
int(150)
["y1"]=>
int(0)
["y2"]=>
int(0)
}
}
["etage1"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(100)
["x2"]=>
int(300)
["y1"]=>
int(0)
["y2"]=>
int(0)
}
}
}
["opgang3"]=>
array(2) {
["etage2"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(50)
["x2"]=>
int(150)
["y1"]=>
int(0)
["y2"]=>
int(0)
}
}
["etage1"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(100)
["x2"]=>
int(300)
["y1"]=>
int(0)
["y2"]=>
int(0)
}
}
}
}
}
}
我的问题是我需要的y值增加,如x值。每个“标准”的X值都会增加,并且每个“标准”的Y值都需要增加。
我已经tryed很多来弄完,这是代码我有这么票价:
$projektNavn = "Test";
$opgange = 3;
$etage = 2;
$temp = array();
$dele = array(
'varm' => array('x1' => 0, 'x2' => 0, 'y1' => 0, 'y2' => 0)
// 'kold' => array('x1' => '200', 'x2' => '200', 'y1' => '200', 'y2' => '200')
);
for ($i = $etage; $i >= 1; $i--) {
$varmeX1 = $dele['varm']['x1'] + 50;
$varmeX2 = $dele['varm']['x2'] + 150;
$dele['varm']['x1'] = $varmeX1;
$dele['varm']['x2'] = $varmeX2;
$etag['etage' . $i] = $dele;
}
for ($j = 1; $j <= $opgange; $j++) {
$varmeY1 = $dele['varm']['y1'] + 100;
$varmeY2 = $dele['varm']['y2'] + 200;
$dele['varm']['y1'] = $varmeY1;
$dele['varm']['y2'] = $varmeY2;
// $temp = $dele;
$opgang['opgang' . $j] = $etag;
}
$projekt = array(
$projektNavn => array(
$opgang
)
);
echo "<pre>";
var_dump($projekt);
echo "</pre><br>";
我知道$varmeY1
和$varmeY2
没有被添加到$etag
并为此都0
,我尝试了所有我知道,所以希望你们中的一些可以帮助我在这里:)
最终结果必须是:
array(1) {
["Test"]=>
array(1) {
[0]=>
array(3) {
["opgang1"]=>
array(2) {
["etage2"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(50)
["x2"]=>
int(150)
["y1"]=>
int(100)
["y2"]=>
int(200)
}
}
["etage1"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(100)
["x2"]=>
int(300)
["y1"]=>
int(100)
["y2"]=>
int(200)
}
}
}
["opgang2"]=>
array(2) {
["etage2"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(50)
["x2"]=>
int(150)
["y1"]=>
int(200)
["y2"]=>
int(400)
}
}
["etage1"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(100)
["x2"]=>
int(300)
["y1"]=>
int(200)
["y2"]=>
int(400)
}
}
}
["opgang3"]=>
array(2) {
["etage2"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(50)
["x2"]=>
int(150)
["y1"]=>
int(300)
["y2"]=>
int(600)
}
}
["etage1"]=>
array(1) {
["varm"]=>
array(4) {
["x1"]=>
int(100)
["x2"]=>
int(300)
["y1"]=>
int(300)
["y2"]=>
int(600)
}
}
}
}
}
}
我需要最后的结果是这样的: – Krabsen
@Krabsen我已经更新了提供的代码,我想我误解你的要求第一时间周围。我在PHP 7中使用了一些更新的PHP语法([null coalescing operator](http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op)和PHP 5.4中的短阵列语法) - 如果这是一个问题,请告诉我。 – jonnu
我在这里得到一个语法错误:$ data ['opgang'。 $ i] ['etage'。 $ j] = $ prev ?? $ DELE; – Krabsen