我是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
= equipment
和y
= N
。我感谢任何帮助。
答案 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);