Heim  >  Artikel  >  Backend-Entwicklung  >  php中遍历数组查找数组元素是否存在与当前字符串,如果不存在就输出当前字符串,如果存在,则输出数组的键值

php中遍历数组查找数组元素是否存在与当前字符串,如果不存在就输出当前字符串,如果存在,则输出数组的键值

WBOY
WBOYOriginal
2016-08-23 09:17:491952Durchsuche

<code><?php $lang_Log=array(
    'rep-cache during mirror is cleard'=>'规则缓冲清除',
    'Starting replication'=>'开始规则',
    'Wait -> Brk'=>'镜像状态改变,由等待到停止状态',
    'OK -> Wait'=>'镜像状态改变,由OK到等待状态',

);


$logs = sd_get_log_sys_by_uuid(uuid);

for($i=0; $i $v) {
            $pos = strpos($logs[$i], $k);
            if($pos !== false){
                echo $v;
                break;
            }
        } 
    }
}

?>
</code>

我想做的就是遍历数组查找数组元素是否存在与当前字符串,如果不存在就输出当前字符串,如果存在,则输出数组的键值。
就是翻译功能。

1.判断日志在数组中是否有对应中文(因为日志有的是死的).
2.判断日志部分字符串是否有对应的中文(有的日志是包含了变量的语句,所以需要用部分字符串匹配,然后翻译).
3.因为外层有个logs数组的循环语句,所以用break,不用exit.

回复内容:

<code><?php $lang_Log=array(
    'rep-cache during mirror is cleard'=>'规则缓冲清除',
    'Starting replication'=>'开始规则',
    'Wait -> Brk'=>'镜像状态改变,由等待到停止状态',
    'OK -> Wait'=>'镜像状态改变,由OK到等待状态',

);


$logs = sd_get_log_sys_by_uuid(uuid);

for($i=0; $i $v) {
            $pos = strpos($logs[$i], $k);
            if($pos !== false){
                echo $v;
                break;
            }
        } 
    }
}

?>
</code>

我想做的就是遍历数组查找数组元素是否存在与当前字符串,如果不存在就输出当前字符串,如果存在,则输出数组的键值。
就是翻译功能。

1.判断日志在数组中是否有对应中文(因为日志有的是死的).
2.判断日志部分字符串是否有对应的中文(有的日志是包含了变量的语句,所以需要用部分字符串匹配,然后翻译).
3.因为外层有个logs数组的循环语句,所以用break,不用exit.

为什么不走else呢?
你循环每一个词,循环第一个是rep-cache during mirror is cleard
存在于$s里吗?
不存在
走不走else

运不运行exit;
运行
还继不继续执行?
不继续
后面的词还检查吗?
不检查

<code>foreach ($lang_Log as $k=> $v) {
    $pos = strpos($s, $k);
    if($pos !== false){
        echo $v;
        break;
    }
} 
</code>

$s = "mirror return 0, peer 94, bytes recv [En/De] [2005667596/2005667596 = 100]";
foreach ($lang_Log as $k=> $v) {

<code>$pos = strpos($s, $k);
if($pos !== false){
    echo 'value = ' .  $v . "<br>;
}else{
    echo 'key = ' .  $k . "<br>;
}</code>

}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn