Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP摘录“;简单的;带foreach的数组_Php - Fatal编程技术网

PHP摘录“;简单的;带foreach的数组

PHP摘录“;简单的;带foreach的数组,php,Php,我举了一个例子: $phrases = array('values[19]' => 'test2'); foreach ($phrases as $xkey => $values) { echo "$xkey - $values"; // echos: values[19] - test2 } 如何从值[19]中分离出数字“19”和“值”?使用php的extract()函数 $phrases = Array ([values[19]] => test2); echo ex

我举了一个例子:

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

foreach ($phrases as $xkey => $values) {
echo "$xkey - $values";
// echos: values[19] - test2
}
如何从
值[19]
中分离出数字“19”和“值”

使用php的extract()函数

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

echo extract($phrases);

您可以将格式化字符串用于:

%[^[]
是除
[
之外的所有字符的占位符

%d
是整数的占位符。

不是最好的方法,但可以满足您的需要:

<?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
}

values[19]
是一个字符串吗?我想是的,
$phrases=Array([values[19]=>test2)
不是有效的代码。这是无效的代码-您应该得到一些关于使用未定义常量、单位化字符串偏移量等的通知和警告。值[19]应该是像$values[19]这样的变量吗?请检查你的代码。这个代码太复杂了,我只是不需要“值”。这是行不通的-代码是完全非法的。
<?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
}