Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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
从ajax请求转换php中的数组_Php_Arrays - Fatal编程技术网

从ajax请求转换php中的数组

从ajax请求转换php中的数组,php,arrays,Php,Arrays,我从ajax请求中得到了很多数组,我在php中得到了所有数组。我所做的是将它们组合在一起,得到了上面的结果。我的问题是,我无法单独获得返回的所有值。如何将上面的数组转换为如下所示。因此,我可以使用关键示例获得每个值 Array ( [0] => Array ( [floor 1st Floor] => Reinforced Concrete ) [1] => Array (

我从ajax请求中得到了很多数组,我在php中得到了所有数组。我所做的是将它们组合在一起,得到了上面的结果。我的问题是,我无法单独获得返回的所有值。如何将上面的数组转换为如下所示。因此,我可以使用关键示例获得每个值

Array
(
    [0] => Array
        (
            [floor 1st Floor] => Reinforced Concrete
        )

    [1] => Array
        (
            [floor 2nd Floor] => Plain Cement
        )

    [2] => Array
        (
            [floor 3rd Floor] => Plain Cement
        )

    [3] => Array
        (
            [floor 3rd Floor] => Marble
        )

    [4] => Array
        (
            [floor 4th Floor] => Marble
        )

    [5] => Array
        (
            [floor 4th Floor] => Wood
        )

    [6] => Array
        (
            [floor 3rd Floor] => eqweqw
        )

    [7] => Array
        (
            [wall 1st Floor] => Reinforced Concrete
        )

    [8] => Array
        (
            [wall 2nd Floor] => Plain Cement
        )

    [9] => Array
        (
            [wall 4th Floor] => Plain Cement
        )

    [10] => Array
        (
            [wall 3rd Floor] => CHB
        )

    [11] => Array
        (
            [wall 3rd Floor] => ewqewqq
        )

    [12] => Array
        (
            [roof] => Tiles
        )

    [13] => Array
        (
            [roof] => qweqe
        )

)
或者,如果可能的话,如何像下面这样从第一个数组中获取所有值
echo$value['wall 3rd Floor']

foreach ($material as $value) {
echo $value['wall 3rd Floor'];
}
我尝试了几种类似的方法,但没有得到理想的结果

Array
(
    [0] => Array
        (
            [floor 1st Floor] => Reinforced Concrete
            [floor 2nd Floor] => Plain Cement
            [floor 3rd Floor] => Plain Cement
            [floor 3rd Floor] => Marble
            [floor 4th Floor] => Marble
            [floor 4th Floor] => Wood
            [floor 3rd Floor] => eqweqw
            [wall 1st Floor] => Reinforced Concrete
            [wall 2nd Floor] => Plain Cement
            [wall 4th Floor] => Plain Cement
            [wall 3rd Floor] => CHB
            [wall 3rd Floor] => ewqewqq
            [roof] => Tiles
            [roof] => qweqe
        )

)
for($i=0;$i”;
}
下一个($数组);
}

您只需将foreach()加倍即可。
它:

for ($i = 0; $i <  count($array); $i++) {
    $key=key($array);
    $val=$array[$key];
    if ($val<> ' ') {
       echo $key ." = ".  $val ." <br> ";
       }
     next($array);
    }
然后,您可以随意访问它:

$new = array();
foreach($data as $item) {
    foreach($item as $key => $value) {
        $new[$key] = $value;
    }
}


或者,如果您想要更短的回路,可以通过利用和:

解释

  • key()
    获取
    $item
  • current()
    获取
    $item

您是否尝试过类似的方法: foreach(数组为$key=>$value) { echo$key.“=”$value.“
”;
}

先生,我可以使用数组
$data=[['floor 1st floor'=>'钢筋混凝土'],['floor 2nd floor'=>'素水泥'],['floor 3rd floor'=>'素水泥'],]获取值问题是当数组是第一个数组时示例
数组([0]=>数组([floor 1st floor]=>钢筋混凝土)[1]=>数组([floor 2nd floor]=>素水泥))
@Pekka这就是我从中获取的。您提供的第一个数组。你必须按你想要的方式创建一个新数组。让我再试一次,先生,也许我弄错了,
$new['wall 3rd Floor']
这将响应值
CHB
ewqewqq
对吗?让我再检查一遍,先生等等,你有相同的钥匙。这将导致一个问题,因为值将被原始数组中最后一个类型的值覆盖。我看到了被覆盖的数据如何避免被覆盖?
echo $new['wall 3rd Floor'];
$new = array();
foreach($data as $item) {
    $new[key($item)] = current($item);
}