如果文本与数组匹配,则获取 id

凯恩

如果此数组上的“最终”文本匹配,我需要 Id。像这样用于数组一288617和数组二288031

Array
(
    [0] => a:4:{i:0;s:11:"Demo Course";i:1;s:6:"288616";i:2;s:10:"Final Exam";i:3;s:6:"288617";}
)

Array
(
    [0] => a:29:{i:0;s:16:"Sage 50 Accounts";i:1;s:6:"287967";i:2;s:6:"278823";i:3;s:6:"278824";i:4;s:6:"278825";i:5;s:6:"278826";i:6;s:6:"278856";i:7;s:6:"278857";i:8;s:6:"278858";i:9;s:6:"278859";i:10;s:6:"278860";i:11;s:6:"278861";i:12;s:6:"278862";i:13;s:6:"279608";i:14;s:6:"279609";i:15;s:6:"279610";i:16;s:6:"279611";i:17;s:6:"278821";i:18;s:6:"279612";i:19;s:6:"279613";i:20;s:6:"279681";i:21;s:6:"279677";i:22;s:6:"279678";i:23;s:6:"279679";i:24;s:6:"279680";i:25;s:9:"Mock Exam";i:26;s:6:"288030";i:27;s:10:"Final Exam";i:28;s:6:"288031";}
)

我已尝试使用此代码,但无法正常工作。

$search_text = 'Final';
    array_filter($array, function($el) use ($search_text) {
            return ( strpos($el['text'], $search_text) !== false );
        });
尸体

首先,您必须阅读unserialize该文本。那么最简单的方法是循环并检查文本,然后取下一个元素:

$array[0] = unserialize($array[0]);

$search_text = 'Final';

foreach($array[0] as $key => $value){ 
    if(strpos($value, $search_text) !== false) {
        $result = $array[0][$key+1];
        break;
    }
}

这假设数组按照您显示的方式配对:

Array
(
    [0] => Demo Course
    [1] => 288616
    [2] => Final Exam
    [3] => 288617
)

使用您的第二个数组,287967如果您搜索 ,它只会返回第一个 ID Sage

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章