如何获取数组中的每个元素并将它们从分隔符拆分为两个变量

时间:2017-10-25 08:28:10

标签: php arrays

如何在element中获取每个array,将其与delimiter分开,并将它们存储到两个不同的variables中。我只能获得iteration的{​​{1}}的最后一个foreach loop。任何答案都完全赞赏。

这是我想要完成的:

$string1 = array('AL8941786046','AL8941786046');
$string2 = array('464646', '555');

这是我想要工作的数组:

Array ( [0] => AL8941786046|464646 [1] => AL8941786046|555 )

第一次迭代将是第一个元素AL8941786046|464646,然后我使用string函数将第一个元素分成两个explode。使用这行代码

list($string1, $string2) = explode('|', $myArray, 2);

现在我只能获得最后一个iteration第二个元素AL8941786046|555

这是我的代码:

             $string1 = array();
             $string2 = array();
             $myArray = array('AL8941786046|464646','AL8941786046|555');
             foreach ($myArray as $val) {
                $ars = $val;
                list($string1 , $string2 = explode('|', $val, 2);
             }

3 个答案:

答案 0 :(得分:3)

如果您想要两个数组:

         $string1 = [];
         $string2 = [];
         $myArray = array('AL8941786046|464646','AL8941786046|555');
         foreach ($myArray as $val) {
            $arr=explode('|', $val, 2);
            $string1[]=$arr[0];
            $string2[]=$arr[1];
         }

这将是输出:

$string1: Array ( [0] => AL8941786046 [1] => AL8941786046)
$string2: Array ( [0] => 464646 [1] => 555 )

答案 1 :(得分:0)

$string1 =[];
         $string2 =[];
         $myArray =  array('AL8941786046|464646','AL8941786046|555');
         foreach ($myArray as $val) {
            $string1[]=explode(‘|’,$val)[0];
            $string2[]=explode(‘|’,$val)[1];
         }
$array=array_combine($string1,$string2);

答案 2 :(得分:-1)

如果您希望数组中的元素构建包含元素的第一部分和第二部分的两个数组,则可以执行以下操作:

$string1 = [];
$string2 = [];
$myArray = ['AL8941786046|464646', 'AL8941786046|555'];

foreach ($myArray as $val) {
    $exploded = explode('|', $val, 2);

    $string1[] = $exploded[0];
    $string2[] = $exploded[1];
}

这会给你:

enter image description here