首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多维子数组中设置键

如何在多维子数组中设置键
EN

Stack Overflow用户
提问于 2015-02-02 07:36:40
回答 2查看 50关注 0票数 1
代码语言:javascript
复制
//$mystring_val
$string_val=56149-1853,55847-1588 ;

$newarr= explode(",",$string_val);
print_r ($newarr);
$result = array();
$res = array();
foreach ($newarr as $key=>$value){

    $res['multicheque_array_items'][]= explode("-",$value);
 }

echo "<br/><br/>====<br/>";      
print_r ($res);

我的输出是:

代码语言:javascript
复制
Array
(
    [multicheque_array_items] => Array
        (
            [0] => Array
                (
                    [0] => 56149
                    [1] => 1853
                )

            [1] => Array
                (
                    [0] => 55847
                    [1] => 1588
                )

        )

)

,但我希望输出像这样的

代码语言:javascript
复制
Array
(
    [multidimensional] => Array
        (
            [paynum] => Array
                (
                    [payid] => 56149
                    [itemid] => 1853
                )

        )

    [multidimensional] => Array
        (
            [paynum] => Array
                (
                    [payid] => 55847
                    [itemid] => 1588
                )

        )

)
EN

回答 2

Stack Overflow用户

发布于 2015-02-02 08:32:01

代码语言:javascript
复制
 $string_val='56149-1853,55847-1588' ;
 $newarr= explode(",",$string_val);
 foreach ($newarr as $key=>$value){
    $temp = explode("-",$value);
    for($i=0;$i<count($temp);$i++){
        if($i==0)
            $res['multidimensional_'.$key]['paynum']['payid'] = $temp[0];
        else
            $res['multidimensional_'.$key]['paynum']['itemid'] = $temp[1];
    }   
 }
 echo "<pre>";
 print_r ($res);

它将显示输出为,

代码语言:javascript
复制
Array
(
    [multidimensional_0] => Array
        (
            [paynum] => Array
                (
                    [payid] => 56149
                    [itemid] => 1853
                )

        )

    [multidimensional_1] => Array
        (
            [paynum] => Array
                (
                    [payid] => 55847
                    [itemid] => 1588
                )

        )

)

修正你的密码!

票数 0
EN

Stack Overflow用户

发布于 2015-02-02 08:41:22

如果你能用这个看一看:-

代码语言:javascript
复制
$arr=array('multicheque_array_items' => array(
        array(56149,1853),array(55847,1588)
       )

);
$out=array();
$keys=array('payid','itemid');
foreach($arr['multicheque_array_items'] as $items){
   $out['multicheque_array_items'][]=array_combine($keys,$items);
}

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

产出:-

代码语言:javascript
复制
Array
(
    [multicheque_array_items] => Array
        (
            [0] => Array
                (
                    [payid] => 56149
                    [itemid] => 1853
                )

            [1] => Array
                (
                    [payid] => 55847
                    [itemid] => 1588
                )

        )

)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28273010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档