从Controller中的多个数组获取数据 [英] Get data from multiple array in Controller

查看:37
本文介绍了从Controller中的多个数组获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的国家/地区列表包含多个数组,例如:

I have country list in array with multiple array, like:

public static function listCountries()
    {
        $this->country = array(
            array(1, 'SAD', 'sad.png'),
            array(2, 'Argentina', 'argentina.png'),
            array(3, 'Australija', 'australija.png'),
            array(4, 'Novi Zenland', 'noviz.png'),
            array(5, 'Belgija', 'belg.png'),
            array(6, 'Nizozemska', 'nizozemska.png')
        );
    }

但是当我为数组做foreach时,我得到的是:

But when i do foreach for array, i'm getting this:

//From DB
    $item->country = "1,4";

    $item->country = explode(",", $item->country);

    for($i=0; $i < count($item->country); $i++) {
        $index = $item->country[$i];

        if( !empty($this->country[$index]) ) {
            $item->country[$i] = $this->country[$index];
        }
    }

    $item->country = implode(",", $item->country);

    echo $item->country;

但是我得到的是这样的东西:

But i'm getting something like this:

array:2 [▼
  0 => array:3 [▼
    0 => 5
    1 => "Belgija"
    2 => "belg.png"
  ]
  1 => array:3 [▼
    0 => 2
    1 => "Argentina"
    2 => "argentina.png"
  ]
]

1 = SAD,4 = Novi Zenland,不是Belgija和阿根廷
没有好的国家,也没有我想要的数据。

1 = SAD, 4 = Novi Zenland, not Belgija and Argentina There is no good country, also no data what i want. How to fix this?

推荐答案

您可以使用此 foreach 循环来解决此问题。如果数字匹配,则遍历另一个数组并交换字符串:

You can use this foreach loop to go through the other array and swap the string if the number matches:

$item->country = "1,4";

$item->country = explode(",", $item->country);

for($i=0; $i < count($item->country); $i++) {
    $index = $item->country[$i];

    foreach($this->country as $c) {
        if($c[0] == $index) {
            $item->country[$i] = $c[1];   // or $item->country[$i] = $c; if you want all three items
            break;
        }
    }
}

$item->country = implode(",", $item->country);

echo $item->country;
// Should output: SAD,Novi Zenland

这篇关于从Controller中的多个数组获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆