<?php
$array1 = array("a", "b", "c", "d");
for ($i = 0; $i < count($array1); $i++) {
echo $array1[$i] . "\n";
}
foreach ($array1 as $value) {
echo $value . "\n";
}
$num_array = array(100, 2, 78, 12, 36, 28, 77, 88, 99, 1000);
echo "The maximum value in the array is " . max($num_array) . "\n";
echo "The minimum value in the array is " . min($num_array) . "\n";
sort($num_array); //从小到大排序
print_r($num_array);
rsort($num_array); //从大到小排序
print_r($num_array);
shuffle($num_array); //随机排序
print_r($num_array);
$assoc_array = array("a" => 1, "b" => 2, "c" => 3, "d" => 4);
foreach ($assoc_array as $key => $value) {
echo "Key: $key; Value: $value\n";
}
echo PHP_EOL;
for ($i = 0; $i < count($assoc_array); $i++) {
echo "Key: " . key($assoc_array) . "; Value: " . current($assoc_array) . "\n";
next($assoc_array);
}
echo PHP_EOL;
// $assoc_array=array("a"=>1,"b"=>2,"c"=>3,"d"=>4);
reset($assoc_array);
do {
echo "Key: " . key($assoc_array) . "; Value: " . current($assoc_array) . "\n";
} while (next($assoc_array));
$temp_array1 = array("a" => 100, "d" => 78, "b" => 45, "c" => 12);
asort($temp_array1); //按值从小到大排序
print_r($temp_array1);
arsort($temp_array1); //按值从大到小排序
print_r($temp_array1);
$temp_array2 = array("a" => 100, "d" => 78, "b" => 45, "c" => 12);
ksort($temp_array2); //按键从小到大排序
print_r($temp_array2);
krsort($temp_array2); //按键从大到小排序
print_r($temp_array2);
$temp_array3 = array("zhao", "qian", "sun", "li");
if (in_array("li", $temp_array3)) { //判断数组中是否存在某个值, 对关联数组适用
echo "Found li\n";
} else {
echo "Not found li\n";
}
print_r(array_keys($temp_array3)); //返回数组中所有的键
print_r(array_values($temp_array3)); //返回数组中所有的值
$temp_array4 = array("li" => "amao", "wang" => "zhang", "zhao" => "qian");
if (array_key_exists("li", $temp_array4)) { //判断数组中是否存在某个键, 普通数组也适用
echo "Found li\n";
} else {
echo "Not found li\n";
}
$temp_array5 = array("li" => "amao", "wang" => "zhang", "zhao" => "qian");
echo var_dump(array_search("amaooo", $temp_array5)) . PHP_EOL; //查找值对应的键
print_r(array_map("strlen", $temp_array3)); //对数组中的每个元素应用回调函数
$temp_array6 = [1, 2, 3, 4];
$temp_array6[] = 5; //在数组末尾添加一个元素
array_push($temp_array6, 6); //在数组末尾添加一个元素
array_unshift($temp_array6, 100); //在数组开头添加一个元素
array_splice($temp_array6, 2, 0, 200); //在数组中间插入一个元素
array_shift($temp_array6); //从数组头部弹出一个元素
array_pop($temp_array6); //从数组尾部弹出一个元素
$temp_array6[8] = 300;
print_r($temp_array6);
print (array_search(200, [1, 2, 3, 4, 200, 300, 6, 200])) . PHP_EOL; //查找数组中第一个出现的元素的下标
print_r(array_keys([1, 2, 3, 4, 200, 300, 6, 200], 200)) . PHP_EOL; //查找数组中所有这个出现的元素的下标
$week_arrary1 = array("Monday", "Tuesday", "Tuesday", "Wednesday", "Thursday", "Friday");
$week_arrary2 = array("Saturday", "Sunday");
$week_arrary = array_merge($week_arrary1, $week_arrary2); //合并数组
print_r($week_arrary);
print_r(array_unique($week_arrary)); //array_merge()合并数组时, 会保留重复的元素, array_unique()去除重复的元素
$color_array1 = array("red" => 1, "green" => 2, "blue" => 3, "yellow" => 4);
$color_array2 = array("red" => 5, "green" => 6, "blue" => 7, "black" => 8);
$color_array = array_merge($color_array1, $color_array2); //合并数组
print_r($color_array); //合并数组时, 如果键名相同, 后面的数组会覆盖前面的数组
$color_array = array_merge_recursive($color_array1, $color_array2); //合并数组时, 如果键名相同, 后面的数组会合并到前面的数组
foreach ($color_array as $akey => $avalue) {
if (!is_array($avalue)) {
echo $value . PHP_EOL;
} else {
print_r($avalue) . PHP_EOL;
}
}
$array1 = ["apple", "banana", "orange"];
$array2 = ["banana", "kiwi", "orange"];
print_r(array_intersect($array1, $array2)); //返回两个数组的交集, 只比较value
print_r(array_diff($array1, $array2)); //返回两个数组的差集,只比较value
$jenkins_env_array1 = array("JENKINS_HOME" => "/var/lib/jenkins1", "JENKINS_URL1" => "http://localhost:8080");
$jenkins_env_array2 = array("JENKINS_HOME" => "/var/lib/jenkins2", "JENKINS_URL1" => "http://localhost:8080");
echo "array_intersect" . PHP_EOL;
print_r(array_intersect($jenkins_env_array1, $jenkins_env_array2)); //只比较value
echo "array_intersect_assoc" . PHP_EOL;
print_r(array_intersect_assoc($jenkins_env_array1, $jenkins_env_array2)); //同时比较key和value
echo "array_diff" . PHP_EOL;
print_r(array_diff($jenkins_env_array1, $jenkins_env_array2)); //返回两个数组的差集,只比较value
echo "array_diff_assoc" . PHP_EOL;
print_r(array_diff_assoc($jenkins_env_array1, $jenkins_env_array2)); //返回两个数组的差集, 同时比较key和value
$arr1 = ["apple", "banana", "orange", "kiwi", "pear", "grape"];
if (! in_array("banana", $arr1)) { //in_array 本质上就是遍历arr1 然后逐个元素对比, 数组很小的时候, 没问题, 数组很大的时候性能非常低
echo "Found banana\n";
}
$hashB = array_flip($arr1); //交换数组的键和值 , 形成新的key value 形式的字典类型的数组, 然后通过判断字典的key是否存在来判断元素是否存在, 性能非常高
if (! isset($hashB["banana"])) {
echo "Not found banana\n";
}