Php $tokens数组根本不会更改
如果我想使用Php $tokens数组根本不会更改,php,arrays,token,Php,Arrays,Token,如果我想使用$tokens数组操作,它总是不会发生任何事情。示例代码: $input = array("⋃","⋃","a","⋃","h"); $impl = implode($input); $impl = preg_replace('/⋃{2}/u','$0|',$impl); preg_match_all('~\X~u', $impl, $tokens); $akzent = array("´"); $result = array_pop($tokens); echo print
$tokens数组
操作,它总是不会发生任何事情。示例代码:
$input = array("⋃","⋃","a","⋃","h");
$impl = implode($input);
$impl = preg_replace('/⋃{2}/u','$0|',$impl);
preg_match_all('~\X~u', $impl, $tokens);
$akzent = array("´");
$result = array_pop($tokens);
echo print_r($result);
是因为
$tokens
不是一个普通数组吗?这里是一个数组数组。这就是为什么您需要访问第一个子数组中的所有匹配项,$tokens[0]
。修改代码的以下部分:
preg_match_all('~\X~u', $impl, $matches);
$tokens = $matches[0];
$result = array_pop($tokens);
查看preg_match_all定义的第三个参数(噢@jeff,厚颜无耻的删除!)什么意思没有发生?你的意思是:@法基:是的……对不起,这是个愚蠢的问题。删除了它,意识到它是我自己的
$tokens
是一个包含子数组的数组。在array\u pop($tokens[0])之前,您需要array\u pop($tokens[0])
,array([0]=>array([0]=>⋃ [1] => ⋃ [2] =>|[3]=>a[4]=>⋃ [5] =>h))
$tokens
在array\u pop($tokens)
之后:array()
如果要插入带有array\u拼接的内容,我必须做什么?它不能正常工作…不确定您对代码做了什么。例如,如果我想在位置1上插入“ex”$ex=array(“ex”);阵列拼接($ex,1,0,$tokens)代码>