Php 如何将与键关联的数组值保存到另一个数组?
我从一个文本文件中得到了一个充满行的数组。我使用preg_match查找此数组中包含特定字符串的行 每次找到匹配项时,我都希望将该行的键值推送到另一个数组中,这样,在匹配项出现的地方,我就得到了一个满是键值的数组。然后我想迭代这个新数组,并为每个匹配执行一个操作Php 如何将与键关联的数组值保存到另一个数组?,php,arrays,Php,Arrays,我从一个文本文件中得到了一个充满行的数组。我使用preg_match查找此数组中包含特定字符串的行 每次找到匹配项时,我都希望将该行的键值推送到另一个数组中,这样,在匹配项出现的地方,我就得到了一个满是键值的数组。然后我想迭代这个新数组,并为每个匹配执行一个操作 我如何才能将键推送到新阵列?这样做可能会帮助您: $secondArray = array(); foreach( $firstArray as $key=>$each ){ if( your_condition_h
我如何才能将键推送到新阵列?这样做可能会帮助您:
$secondArray = array();
foreach( $firstArray as $key=>$each ){
if( your_condition_here ){
$secondArray[] = $key;
}
}
print_r( $secondArray );die;
array_keys()函数就是您要查找的函数
这就回答了“我怎样才能只将键推送到一个新阵列?”
但我认为Nil'z已经朝着正确的方向前进,将preg_match()放入循环中
您可能还需要查看函数array_walk()来处理数组中的每个元素
那么这个代码呢
$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
});
试试这个:
$new_arr = array_keys($array);
旁注:如果可以在一个循环中执行任务,那么为什么要迭代两个循环呢?那么您到底想要什么呢?这些可以完成任务:,