我想将一个字符串与数组进行比较,以查看字符串是否存在于数组中,如果是这样,则echo'in array'。我只能保持echo的效果,因为我想用数组中的最后一个条目工作。检查数组中是否存在值
foreach($array as $key => $value) {
foreach($entries as $entry) {
if($entry == $value) echo 'in array 1';
}
if (in_array($value, $entries)) {
echo 'in array 2';
}
if(isset($entries[$value])) {
echo 'in array 3';
}
}
的回声“在阵列1”和“数组2”的工作只在无论$项数组中的最后一个条目,和回声“在阵列3”不工作的。
其可能是一些愚蠢的,但我没有看到它...
编辑:
这里是阵列的一些例子
$entries =
array(5) {
[0]=>
string(14) "example text 1"
[1]=>
string(14) "example text 2"
[2]=>
string(14) "example text 3"
[3]=>
string(14) "example text 4"
[4]=>
string(14) "example text 5"
}
$array =
array(5) {
[0]=>
string(14) "example text 1"
[1]=>
string(14) "example text 2"
[2]=>
string(14) "example text 3"
[3]=>
string(14) "example text 7"
[4]=>
string(14) "example text 8"
}
所以现在当我做
foreach($array as $key => $value)
$值应该有我的$数组的值,我需要比较每一个thos e值来查看它们是否出现在我的$ entries数组中。如果是这样的ID喜欢“阵”呼应
编辑2:
,如果它使正在被文件(),因为信息是从日志来创建我的$条目阵列的差异。每次添加一个新文件时,它都会被记录下来,然后我想将传入文件与日志进行比较,确定它们是否已经被添加,如果没有,添加它们。
我很困惑,你说你要比较一个字符串数组,但它看起来像你比较数组一个数组..你能提供一些样本数据在所有这些数组/字符串,你得到了什么,你期待什么? – gingerCodeNinja
well $ value是一个存储在数组中的字符串,通过循环$ array获取每个$ value,然后将$ value与$ entries中的每个值进行比较($ entry) – cwal
,这样您的字符串的每个字符都是$ value?像'猫'是阵列('c','a','t');'?还是你的意思是字符串中的每个单词都是$ value?像'猫坐在垫子上'是'数组'('猫','坐','上',''','垫子');'?什么是$条目? – gingerCodeNinja