我想将数组中的每个值保存在变量中,并根据它们的变量名称打印出这些值。
我的代码
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
)
等等。
我该怎么办?
谢谢。
答案 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