Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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,我已经试着做了几个小时了,但我没有任何具体的想法。我希望达到如下所示的结果。该数组是从json文件派生的 我有: [0] => Array( [Id] => scr_1 [Size] => 1920, 1080 ) [1] => Array( [Id] => scr_2 [Size] => 1280, 1024 ) 我的目标是: [0] => Array( [Id] => scr_1 [Size

我已经试着做了几个小时了,但我没有任何具体的想法。我希望达到如下所示的结果。该数组是从json文件派生的

我有:

[0] => Array(
    [Id] => scr_1 
    [Size] => 1920, 1080
)
[1] => Array(
    [Id] => scr_2 
    [Size] => 1280, 1024
)
我的目标是:

[0] => Array(
    [Id] => scr_1
    [Size] => Array( 
        [Width] => 1920 
        [Height] => 1080
    )
)
[1] => Array(
    [Id] => scr_
    [Size] => Array( 
        [Width] => 1280
        [Height] => 1024
    )
)
我该怎么做?
提前谢谢你

您需要将数组添加到
Size
键中的字符串中

$yourArray = array(
    array(
        "Id" => "scr_1",
        "Size" => array(
            "Width" => 1920,
            "Height" => 1080
        )
    ),
    array(
        "Id" => "scr_2",
        "Size" => array(
            "Width" => 1280,
            "Height" => 1024
        )
    )
);
$newArray = array();
foreach ($yourArray as $k => $res) {
    $newArray[$k] = array(
        "Id" => $res["Id"],
        "Size" => explode(",", $res["Size"])
    );
}

您需要在
Size
键中为字符串添加数组

$yourArray = array(
    array(
        "Id" => "scr_1",
        "Size" => array(
            "Width" => 1920,
            "Height" => 1080
        )
    ),
    array(
        "Id" => "scr_2",
        "Size" => array(
            "Width" => 1280,
            "Height" => 1024
        )
    )
);
$newArray = array();
foreach ($yourArray as $k => $res) {
    $newArray[$k] = array(
        "Id" => $res["Id"],
        "Size" => explode(",", $res["Size"])
    );
}
请尝试以下代码:

<?php

$array = array(
    array(
        "Id" => "scr_1",
        "Size" => "1920, 1080"
    ),
    array(
        "Id" => "scr_2",
        "Size" => "1280, 1024"
    )
);

$newArray = array();

foreach ($array as $k => $v) {
    $size = explode(', ', $v['Size']);
    $newArray[$k]= array('Id' => $v['Id'],  'Size' => array('Width' => $size[0], 'Height' => $size[1]));
}   

print_r($newArray);
尝试以下代码:

<?php

$array = array(
    array(
        "Id" => "scr_1",
        "Size" => "1920, 1080"
    ),
    array(
        "Id" => "scr_2",
        "Size" => "1280, 1024"
    )
);

$newArray = array();

foreach ($array as $k => $v) {
    $size = explode(', ', $v['Size']);
    $newArray[$k]= array('Id' => $v['Id'],  'Size' => array('Width' => $size[0], 'Height' => $size[1]));
}   

print_r($newArray);
试试这段代码

<?php
    $myarray[0]["Id"] = "scr_1";
    $myarray[0]["Size"]= "1920, 1080";
    $myarray[1]["Id"] = "scr_2";
    $myarray[1]["Size"]= "1920, 1080";
    foreach($myarray as $key =>$value){
        list($width, $height) = explode(", ",$value["Size"]);
        $myarray[$key]['Size'] = array("Width"=>$width, "Height" =>$height);
    }
    echo "<pre>";print_r($myarray);
    ?>

试试这段代码

<?php
    $myarray[0]["Id"] = "scr_1";
    $myarray[0]["Size"]= "1920, 1080";
    $myarray[1]["Id"] = "scr_2";
    $myarray[1]["Size"]= "1920, 1080";
    foreach($myarray as $key =>$value){
        list($width, $height) = explode(", ",$value["Size"]);
        $myarray[$key]['Size'] = array("Width"=>$width, "Height" =>$height);
    }
    echo "<pre>";print_r($myarray);
    ?>

$array=array(数组('Id'=>'scr_1','Size'=>'1920,1080')、数组('Id'=>'scr_1','Size'=>'1920,1080'));
foreach($key=>$val的数组)
{
$size=explode(“,”,$val['size']);
$new['Width']=$size[0];
$new['height']=$size[1];
$array[$key]['Size']=$new;
}
回声“;
打印(数组);
回声“;
检查此代码。

$array=array(数组('Id'=>'scr_1','Size'=>'1920,1080'),数组('Id'=>'scr_1','Size'=>'1920,1080'); foreach($key=>$val的数组) { $size=explode(“,”,$val['size']); $new['Width']=$size[0]; $new['height']=$size[1]; $array[$key]['Size']=$new; } 回声“; 打印(数组); 回声“;

检查此代码。

您可以使用数组映射或foreach您可以使用数组映射或foreach