如何将数组转换为变量

时间:2018-08-26 23:47:31

标签: php

我想将数组中的每个值保存在变量中,并根据它们的变量名称打印出这些值。

我的代码

impl SomeStruct {
    pub fn apply_changes(&mut self) {
        if let Some(se) = self.next_attrib.take() {
            self.attrib = se;
        }
    }
}

哪个给这个:

$arr = "PRE;OS0101001;123456;ATAKUMOSA EAST;IWARA;TOWN HALL IWARA;Yes;NGNOS10001;1000;5;Yes;10234OS;Yes;785;;2018-08-26 06:59:35";

$delimiter = array(",",".","'","\"","|","\\","/",";",":");
$replace = str_replace($delimiter, $delimiter[0], $arr);
$explode = explode($delimiter[0], $replace);
print_r($explode);

我想以这种格式打印

Array
(
    [0] => PRE
    [1] => OS0101001
    [2] => 123456
    [3] => ATAKUMOSA EAST
    [4] => IWARA
    [5] => TOWN HALL IWARA
    [6] => Yes
    [7] => NGNOS10001
    [8] => 1000
    [9] => 5
    [10] => Yes
    [11] => 10234OS
    [12] => Yes
    [13] => 785
    [14] => 
    [15] => 2018-08-26 06
    [16] => 59
    [17] => 35
)

等等。

我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:2)

因为您的字符串看起来像一个csv行,所以您可以使用str_getcsv对其进行解析,甚至更容易。

$array = str_getcsv($arr,";","");

您始终可以使用list将爆炸结果分配给各个变量。

list( ,$officer_id, $password, $sthg, $alsoSthg ) = explode($delimiter[0], $replace);

或者如果您使用过str_getcsv

 list( ,$officer_id, $password, $sthg, $alsoSthg ) = $array;

只要确定它在数组中具有对应关系,就可以增加list中的变量数量。请注意,我故意将list中的第一个参数保留为空白,以表明如果您不想将其(或任何其他)参数分配给变量,则可以将该参数保留为空。 More info on list