微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

阵列中的Foreach数组Php

我有一个像这样的数组

  Array
 (
[solar] => Array
    (
        [0] => sun
        [1] => moon
    )

[Solargraph] => Array
    (
        [0] => Array
            (
                [y] => 89
                [url] => sun
            )

        [1] => Array
            (
                [y] => 57
                [url] => moon
            )

    )

  )

但我需要更改y和url名称,如下所示:

 Array
 (
[solar] => Array
    (
        [0] => sun
        [1] => moon
    )

[Solargraph] => Array
    (
        [0] => Array
            (
                [solarvalue] => 89
                [solarname] => sun
            )

        [1] => Array
            (
                [solarvalue] => 57
                [solarname] => moon
            )

    )

  )

我试图改变,但我只得到一个数组……继承人的代码

      foreach($Rows as $key=>$val){

        $aUse[] = $val['rt_solargraph'];

        foreach($aUse as $key => $value)
         {
          $aUser['Solargraph'][$key]['SolarValue'] = $value[$key]['y'];
          $aUser['Solargraph'][$key]['SolarName'] = $value[$key]['url'];

         }

      }

请帮帮我修复此问题,因为我是PHP和array的新手.我不知道如何迭代内部数组中的元素.

解决方法:

你可以这样使用:

// initialize array
$newArr = array();
foreach ($yourArr as $key => $value) {
    // if $value is array , you can also add Solargraph key check.
    if(is_array($value) && $key == 'Solargraph'){
        foreach ($value as $mykey => $finalVal) {
            // assign values to $newArr
            $newArr[$key][$mykey]['solarvalue'] = $finalVal['y'];
            $newArr[$key][$mykey]['solarname'] = $finalVal['url'];
        }
    }
    else{
        // if not is array store as same
        $newArr[$key] = $value;
    }
}

echo "<pre>";
print_r($newArr);

结果:

Array
(
    [solar] => Array
        (
            [0] => sun
            [1] => moon
        )

    [Solargraph] => Array
        (
            [0] => Array
                (
                    [solarvalue] => 89
                    [solarname] => sun
                )

            [1] => Array
                (
                    [solarvalue] => 89
                    [solarname] => sun
                )

        )

)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐