我有这个例子:
$phrases = array('values[19]' => 'test2');
foreach ($phrases as $xkey => $values) {
echo "$xkey - $values";
// echos: values[19] - test2
}
如何将号码“ 19 ”和“值”与values[19]
分开?
答案 0 :(得分:1)
您可以使用带sscanf
的格式化字符串:
$xkey = 'values[19]';
list($name, $num) = sscanf($xkey, '%[^[][%d]');
echo "$name:$num";
%[^[]
是除[
以外的所有字符的占位符
%d
是整数的占位符。
答案 1 :(得分:0)
使用php的extract()函数
$phrases = Array ([values[19]] => test2);
echo extract($phrases);
答案 2 :(得分:0)
不是最好的方式,但可以满足您的需求:
<?php
$phrases = Array ([values[19]] => test2);
foreach ($phrases as $xkey => $values) {
preg_match_all('/[a-z]|[0-9]/', $xkey, $matches);
$xkey = implode($xkey[0]);
echo"$xkey - $values";
////echos values[19] - test2
}