我有一个解密字符串,已经发布到我们的网站:
$data = "AQ487r3uiufyds.43543534|VISA|4539991602641096|123|12|15|123|USD|AARON|dr4387yicbekusglisdgc||ZYXW|1970|01|31|19070/01/31|NODIRECTION ROAD, 1111|7th floor apt 777|99999|NOWHERE|XX";
我需要获取这些数据并从|
分隔的每个部分创建变量。
您要查找的函数是explode
。它返回一个字符串数组,每个字符串都是第二个参数的子字符串,这些子字符串是根据字符串分隔符(第二个参数)形成的边界分割而成的。
$data = "AQ487r3uiufyds.43543534|VISA|4539991602641096|123|12|15|123|USD|AARON|dr4387yicbekusglisdgc||ZYXW|1970|01|31|19070/01/31|NODIRECTION ROAD, 1111|7th floor apt 777|99999|NOWHERE|XX";
foreach (explode('|', $data) as $p)
echo "$p<br>";
将输出:
AQ487r3uiufyds.43543534
VISA
4539991602641096
123
12
15
123
USD
AARON
dr4387yicbekusglisdgc
ZYXW
1970
01
31
19070/01/31
NODIRECTION ROAD, 1111
7th floor apt 777
99999
NOWHERE
XX
如果您事先知道字符串的结构,并且如果您想要真正命名的变量(而不仅仅是一个值数组),请使用PHP的list
结构(与explode
一起):
$data = "AQ487r3uiufyds.43543534|VISA|4539991602641096";
list($someCode, $cardType, $cardNumber)=explode('|', $data);
var_dump($someCode);
var_dump($cardType);
var_dump($cardNumber);
则不需要将临时数组(由explode
返回)存储在变量中。
如果你需要一个数组的值,只需使用explode
建议在其他答案。
$vars = explode('|', $data);
//echo $vars[0];
//echo $vars[1];
//$card_num = $vars[2];
print_r($vars);
直接使用explosion()。它返回一个字符串数组,可以根据需要将其赋值给变量,例如:
// explode the data string separated by |
$data_array = explode("|", $data);
// assign variables
$cc_no = $data_array[0];
$cc_comp = $data_array[1];
// and so on ...