PHP用foreach提取“简单”数组

时间:2017-06-02 12:31:26

标签: php

我有这个例子:

$phrases = array('values[19]' => 'test2');

foreach ($phrases as $xkey => $values) {
echo "$xkey - $values";
// echos: values[19] - test2
}

如何将号码“ 19 ”和“”与values[19]分开?

3 个答案:

答案 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
}