【问题标题】:search array with multitext value具有多文本值的搜索数组
【发布时间】:2018-12-16 12:00:39
【问题描述】:

在这个数组中,我想从 value 中找到单词“in”,并从该歌曲中创建新数组,包括专辑中的数字(键)歌曲。

$londonCalling = array(
'song-01' => 'London Calling',
'song-02' => 'Brand New Cadillac',
'song-03' => 'Jimmy Jazz',
'song-04' => 'Hateful',
'song-05' => 'Rudie Cant Fail',
'song-06' => 'Spanish Bombs',
'song-07' => 'The Right Profile',
'song-08' => 'Lost in the Supermarket',
'song-09' => 'Clampdown',
'song-10' => 'The Guns of Brixton',
'song-11' => 'Wrong Em Boyo',
'song-12' => 'Death or Glory',
'song-13' => 'Koka Kola',
'song-14' => 'The Card Cheat',
'song-15' => 'Lovers Rock',
'song-16' => 'Four Horsemen',
'song-17' => 'Im Not Down',
'song-18' => 'Revolution Rock',
'song-19' => 'Train in Vain');

【问题讨论】:

  • 尝试简单的 foreach 循环
  • PHP 教程在这种情况下会派上用场

标签: php arrays search foreach multitexturing


【解决方案1】:

这可以通过preg_grep oneliner 来完成:

print_r(preg_grep('/in/', $londonCalling));

【讨论】:

  • preg_grep 是正确的选择。找到“单词”将是/\bin\b/(单词边界)
【解决方案2】:

或者 array_filter

$res = array_filter($londonCalling , function($e){
    return strpos($e, 'in') !== false;
});

print_r([$res]);

【讨论】:

    猜你喜欢
    • 2014-09-11
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多