Php 如何将数组转换为变量

Php 如何将数组转换为变量,php,Php,我希望将数组中的每个值保存在变量中,并根据它们的变量名打印出这些值 我的代码 $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_repla

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

我的代码

$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
)
我想用这种格式打印出来

   $officer_id = $array[1];
    $userpassword = $array[2];
等等

我怎么做


谢谢

由于字符串看起来像csv行,因此可以使用
str\u getcsv
更轻松地解析它

$array = str_getcsv($arr,";","");
您可以始终使用
list
将分解结果分配给各个变量

list( ,$officer_id, $password, $sthg, $alsoSthg ) = explode($delimiter[0], $replace);
或者如果您使用了
str\u getcsv

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

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

那么您正试图输出一个PHP代码的结果?为什么不直接使用序列化呢?还有var_导出。@Ultimater,是的,我是。如果我知道怎么做,我就不会问了。你能告诉我吗?
echo“\$officer\u id=”.$array[1]有什么问题等等,或者进一步澄清……如果这是一个CSV文件(看起来就是这样),它包含一个头,那么就构建一个关联数组(通过
数组\u combine
)而不是一打局部变量。//分隔符重写的目的也完全不清楚。@mario我同意assoc数组的想法-但不确定她的$arr是否是一次性的,考虑到这个问题,硬编码可能更容易。这是来自twilio的短信。我还可以使用str_getcsv吗?这里的键看起来是这样的,你可以用
str_getcsv
解析这一行。