检查数组中的字符串并添加

时间:2011-07-07 17:08:44

标签: php arrays

如何在php中添加字符串之前检查字符串是否已存在?

说数组是$value

$value[0]="hi";
$value[1]="hello"; 
$value[2]="wat";

我想在将其添加到其中之前检查其中是否存在值。

5 个答案:

答案 0 :(得分:4)

$s='hi';
if (!in_array($s, $value)) {
    $value[]=$s;
}
  • in_array()检查该值(第一个参数)是否在数组中(第二个参数),返回布尔值(!否定它)

  • $value[]=$s会将值添加到具有下一个索引的数组


如果你想在数组中添加一堆值,还有另一种棘手的方法,但前提是它们还没有。您只需将这些新值组织到另一个数组中,并使用array_merge()array_diff()的组合:

//your original array:
$values=array('hello', 'xy', 'fos', 'hi');
//the values you want to add if they are not in the array yet:
$values_to_add=array('hi', 'hello', 'retek');

$values=array_merge($values, array_diff($values_to_add, $values));
//$values becomes: hello, xy, fos, hi, retek

答案 1 :(得分:2)

您可以使用in_array($searchstring, $array)

in_array("hello", $value)返回true

in_array("hllo", $value)返回false

http://php.net/manual/en/function.in-array.php

答案 2 :(得分:1)

http://php.net/manual/en/function.in-array.php

if(in_array("hello", $value)) { // needle in haystack
   return TRUE;
}

答案 3 :(得分:1)

in_array - 检查数组中是否存在值。

如果是in_array($searchstring, $array),请记住,如果$searchstring是“字符串”,那么比较是以 区分大小写的 方式完成的“

示例:

 - in_array("wat", $value) returns true
 - in_array("what", $value) returns false.

 // Observe carefully
 - in_array("WAT", $value) returns false.

答案 4 :(得分:1)

如果您要创建Set,使用数组键而不是值更好。只需使用

$values["whatever"] = 1;

添加值,无需检查任何内容。