我有一个来自文本文件的数组。我正在使用 preg_match 来查找此数组中包含特定字符串的行。
每次我找到一个匹配项时,我想将该行的键值推送到另一个数组,这样我最终会得到一个充满键的数组,其中匹配发生。然后我想迭代这个新数组并为每个匹配执行一个动作。
如何将只是按键推送到新阵列?
答案 0 :(得分:2)
尝试这样可以帮到你:
$secondArray = array();
foreach( $firstArray as $key=>$each ){
if( your_condition_here ){
$secondArray[] = $key;
}
}
print_r( $secondArray );die;
答案 1 :(得分:1)
您正在寻找array_keys()函数。
http://php.net/manual/en/function.array-keys.php
这回答'如何才能将按键推送到新阵列?'
但我认为Nil'z已朝着正确的方向前进,将preg_match()放入循环中。
您可能还想查看函数array_walk()来处理数组中的每个元素
http://php.net/manual/en/function.array-walk.php
那么这段代码呢?
$matching_keys = array();
array_walk($filelines, function($line, $key) {
if(preg_match(...))
$matching_keys[] = $key
});
array_walk($matching_keys, function($matching_key) {
//do your code
});
答案 2 :(得分:0)
试试这个:
$new_arr = array_keys($array);