将数据存储在数组中并搜索项

时间:2017-06-01 07:39:20

标签: php

我在remote SSH中连接到Php设备。 我运行command输出太长。 所以我搜索并了解我可以通过以下方式保存它:

   $my_array= explode("\n", $this->ssh->exec('some command'));

没问题,现在我可以通过以下方式显示整个输出:

echo print_r($my_array);

输出类似于:

Array ( [0] => ath4_auth_mode=disabled [1] => wl_mac_deny= [2] => filter_dport_grp3= [3] => ses_script= [4] => http_redirect_port=3128 [5] => oet5_en=0 [6] => filter_dport_grp4= [7] => oet2_fragment=0 [8] =>

当我跑步时:

echo count($my_array);

它显示我:

2200

所以这是真的,现在我想搜索像name=这样的特定文本,我希望数组中的值相等,我试过这个:

           $search_result = array_search("name=", $my_array);

但是没有机会,甚至尝试过:

foreach($my_array as $cat) {
$cat = trim($cat);
if($cat == "name=") { 
    echo "hoola !";
} else { 
    echo ':-(';
}

再次没有机会,如何搜索name=并获取=之后的值?

1 个答案:

答案 0 :(得分:0)

我认为你的数组值不是name=。例如,它可以是name=something。在这种情况下,==in_array都不会找到它。您需要使用strpos

foreach($my_array as $cat) {
    $cat = trim($cat);
    if(strpos($cat, "name=") === 0) { 
        echo "hoola !", $cat;

        // add a break if value found so as not to search other elements
        break;
    } else { 
        echo ':-(';
    }
}

我使用了===0,因为name=必须位于$cat的开头。