如何拆分此数组对象?

时间:2018-05-15 03:04:37

标签: php

我是PHP的新手并尝试对一些遗留代码进行问题排查。

echo " **** REQ: ".$requirement.PHP_EOL;
echo " **** REQ ##: ".get_object_vars($requirement).PHP_EOL;
$myArray=explode(",",$requirement);
print_r($myArray);

这个输出给了我:

**** REQ: Requirement=[equipment,N]
**** REQ: Array
Array
(
    [0] => Requirement=[equipment
    [1] => N]
)

我希望能够将值保存在硬括号中。因此x = equipmenty = N。我感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式在[]之间获取文字,然后在,上进行爆炸

<?php

$raw = "Requirement=[equipment,N]";
$requirement = '';

echo " **** REQ: ".$raw.PHP_EOL;

preg_match('#\[(.*?)\]#', $raw, $requirement);

$myArray=explode(",",$requirement[1]);

print_r($myArray);

输出:

**** REQ: Requirement=[equipment,N] 
Array 
( 
    [0] => equipment 
    [1] => N 
)

答案 1 :(得分:-1)

您可以评估字符串 如果字符串来自用户,请不要使用此方法,因为eval会对您的系统造成伤害 它基本上允许用户访问您的代码。亲切... ... 但如果它来自一个安全的来源&#39;然后这有效,但有通知。

$str = "Requirement=[equipment,N]";
Eval("$" . $str . ";");

Var_dump($Requirement);

https://3v4l.org/2dBrd