操纵php数组?

时间:2017-10-25 09:25:17

标签: php

我有一个数组链接

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 9
    [6] => 11
    [7] => 12
    [8] => 13
    [9] => 15
    [10] => 16
    [11] => 17
    [12] => 18
    [13] => 19
    [14] => 20
    [15] => 21
    [16] => 22
    [17] => 23
    [18] => 24
    [19] => 25
    [20] => 26
    [21] => 27
    [22] => 28
    [23] => 29
    [24] => 30
)

但是我想在单个数组中创建它,所以在我可以从单个数组中搜索一个值之后!

同样 - >

array("1","2","3")

2 个答案:

答案 0 :(得分:0)

你的阵列很好。如果没有自己定义key,PHP会从0及以上添加密钥。

如果要检查数组中是否存在值,请使用in_array()

示例:

$numbers = array("1", "2", "3", "4");
if (in_array("1", $numbers)) {
    echo "1 is in numbers";
}

答案 1 :(得分:0)

您可能正在寻找array_values(),但在您的具体情况下,您不需要它。您的数组已经使用了默认键(0,1,2,...),如果您没有定义它们,它们也会被使用。

$arr1 = Array ( 
    0 => 1,
    1 => 3,
    2 => 5
);
$arr2 = Array (1,3,5);

两个数组都产生相同的输出:

var_dump($arr1) = array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(5) }
var_dump($arr2) = array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(5) }
并且惊讶:
var_dump(array_values($arr1)) = array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(5) }

如果您定义了密钥,则可以正确使用array_values()

$arr3 = Array ( 
    "one" => 1,
    "two" => 3,
    "three" => 5
);

var_dump($arr3) = array(3) { ["one"]=> int(1) ["two"]=> int(3) ["three"]=> int(5) }
var_dump(array_values($arr3)) = array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(5) }