亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何查找數組值中的某些單詞是否在同一個數組php中

如何查找數組值中的某些單詞是否在同一個數組php中

PHP
青春有我 2022-12-11 16:29:58
我有這個數組Array(    [0] => Array        (            [time] => 18:25:00            [artist] => LUIS RODRIGUEZ        )    [1] => Array        (            [time] => 18:34:00            [artist] => THE BLACK EYED PEAS FT J BALVIN        )    [2] => Array        (            [time] => 18:37:00            [artist] => THE BLACK EYED PEAS FT J BALVIN        )    [3] => Array        (            [time] => 18:44:00            [artist] => J BALVIN        )    [4] => Array        (            [time] => 18:44:00            [artist] => LUIS RODRIGUEZ & DEN HARROW        ))我想檢查其他數組值中是否包含某些單詞,所以J BALVIN is in 1,2,3LUIS RODRIGUEZ in in 0 and 4那么我怎樣才能找到藝術家的價值是否與其他人相似呢?我希望結果可以告訴我哪里有相似的詞并且還可以得到時間。我嘗試使用 array_intersect 但它不起作用通過循環我可以找到值$input = array(array('time' => '18:44:00', 'artist' => 'LUIS RODRIGUEZ & DEN HARROW'), array('time' => '18:45:00', 'artist' => 'J BALVIN'), array('time' => '18:34:00', 'artist' => 'THE BLACK EYED PEAS FT J BALVIN'), array('time' => '18:37:00', 'artist' => 'THE BLACK EYED PEAS FT J BALVIN'), array('time' => '18:44:00', 'artist' => 'J BALVIN'));foreach ($input as $inputs) {    $time = $inputs['time'];    $artist = $inputs['artist'];}但是我怎樣才能比較字符串呢?如果我使用 in_array 結果不是我想要的foreach ($input as $inputs) {    $time = $inputs['time'];    $artist = $inputs['artist'];    if (in_array($artist, $inputs)) {        echo $artist . '<br>';    }}我必須改變我所有的方法,但是@Barmar 的建議幫助我改進了我的新功能,所以你可以在這里查看
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

$inputs不是一個字符串數組,它是一個二維數組,所以你不能用in_array()它來搜索它。


您可以使用array_column()創建所有藝術家的數組,并進行搜索。


您不能用于in_array()搜索,因為它完全匹配。遍歷它并調用strstr()以測試當前藝術家是否是子字符串。


$artists = array_column($input, 'artist');

foreach ($input as $inputs) {

    $time = $inputs['time'];

    $artist = $inputs['artist'];


    foreach ($artists as $index => $a) {

        if (strstr($a, $artist)) {

            echo "$artist is in $index";

            break;

        }

    }

}


查看完整回答
反對 回復 2022-12-11
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

你可以試試


function findIndexesByArtist($array, $name) {

    return array_keys(array_filter($array, function($item) {

       return (strpos($item['artist'], $name) !== false);

    }));

}


查看完整回答
反對 回復 2022-12-11
  • 2 回答
  • 0 關注
  • 162 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號