簡體   English   中英

如何將與數組值關聯的鍵保存到另一個數組?

[英]How can I save an array values associated key to another array?

我有一個充滿文本文件行的數組。 我正在使用preg_match在此數組中查找包含特定字符串的行。

每次找到匹配項時,我都希望將該行的鍵值推送到另一個數組,因此最終會在發生匹配的地方得到一個充滿鍵的數組。 然后,我想遍歷這個新數組並為每個匹配執行一個動作。

如何僅將鍵推入新陣列?

嘗試這樣可能會幫助您:

$secondArray    = array();
foreach( $firstArray as $key=>$each ){
    if( your_condition_here ){
        $secondArray[]  = $key;    
    }

}
print_r( $secondArray );die;

您正在尋找array_keys()函數。

http://php.net/manual/zh/function.array-keys.php

這回答了“如何僅將鍵推入新陣列?”

但是我認為Nil'z朝着正確的方向發展,因此將preg_match()放入了循環中。

您可能還希望查看函數array_walk()以處理數組中的每個元素

http://php.net/manual/zh/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
});

嘗試這個 :

$new_arr = array_keys($array);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM