数组的创建和初始化php中有两种创建数组的方法:一种是使用array()函数进行创建,另一种则是使用中括号[]进行创建。二者的效果是一样的,下面我们来看一下具体的实现。
使用array()函数进行声明:
$names = array('bob', 'tom', 'jerry');
使用中括号[]进行声明:
$ages = ['bob'=>25, 'tom'=>30, 'jerry'=>35];
以上两种不同的声明方式都能够成功创建数组,区别在于:前者在声明时使用了array()引用函数,而后者直接使用了中括号[]声明。2种方式的效果完全相同,具体使用哪种方式请根据自己的喜好进行选择。
数组的访问和输出访问数组元素的方法和其他编程语言一样,使用方括号[],其中方括号中写上数组元素对应的键名或者序号即可访问相应的元素。例如:
$names = array('bob', 'tom', 'jerry');echo $names[0]; //输出bobecho $names[2]; //输出jerry$ages = ['bob'=>25, 'tom'=>30, 'jerry'=>35];echo $ages['tom']; //输出30
除了使用echo进行输出外,php还可以使用print_r()函数或var_dump()函数进行数组的输出。其中,print_r()函数的输出结果更易于被阅读,而var_dump()函数不仅可以输出数组的内容,还能够输出元素的数据类型、长度等详细信息。例如:
$names = array('bob', 'tom', 'jerry');print_r($names); //输出:array ( [0] => bob [1] => tom [2] => jerry )var_dump($names); //输出:array(3) { [0]=> string(3) bob [1]=> string(3) tom [2]=> string(5) jerry }
数组的遍历遍历数组可以通过php提供的for循环和foreach语句进行操作。下面我们来一起看一下它们都有哪些实现方法。
使用for循环遍历数组:
$names = array('bob', 'tom', 'jerry');$arraylength = count($names); //获取数组长度for($i = 0; $i < $arraylength; $i++){ echo $names[$i] . ' '; //遍历输出数组元素 }
使用foreach语句遍历数组:
$ages = ['bob'=>25, 'tom'=>30, 'jerry'=>35];foreach ($ages as $key => $value){ echo $key . ' is ' . $value . ' years old.'; //遍历输出数组元素和键名}
使用list()函数遍历数组:
$namearr = ['bob', 'tom', 'jerry'];list($name1, $name2, $name3) = $namearr;echo $name1 . ', ' . $name2 . ', ' . $name3; //遍历输出数组元素
数组的操作php提供了一系列的数组操作函数,这里我们列举一些常用的操作方式。
添加元素:使用array_push()或array_unshift()函数可以向数组末尾或开头添加新的元素。
$names = array('bob', 'tom', 'jerry');array_push($names, 'john'); //添加新元素到末尾array_unshift($names, 'lucy'); //添加新元素到开头print_r($names); //输出:array ( [0] => lucy [1] => bob [2] => tom [3] => jerry [4] => john )
删除元素:使用array_pop()或array_shift()函数可以删除数组末尾或开头的元素。
$names = array('bob', 'tom', 'jerry');array_pop($names); //删除末尾元素array_shift($names); //删除开头元素print_r($names); //输出:array ( [0] => tom )
合并数组:使用array_merge()函数可以将两个数组合并成一个新的数组。
$names1 = array('bob', 'tom');$names2 = array('jerry', 'lucy');$names = array_merge($names1, $names2); //将两个数组合并为一个新数组print_r($names); //输出:array ( [0] => bob [1] => tom [2] => jerry [3] => lucy )
求交集和差集:使用array_intersect()函数可以求两个数组的交集,而使用array_diff()函数可以求两个数组的差集。
$nums1 = [1, 2, 3, 4, 5];$nums2 = [3, 4, 5, 6, 7];$intersect = array_intersect($nums1, $nums2); //求交集print_r($intersect); //输出:array ( [2] => 3 [3] => 4 [4] => 5 )$diff = array_diff($nums1, $nums2); //求差集print_r($diff); //输出:array ( [0] => 1 [1] => 2 )
数组的排序php内置了许多数组排序函数,可以使数组按升序或降序排列。这里我们列举几个常用的操作方式。值得注意的是,排序函数会改变原数组中元素的顺序。
按升序排序:使用sort()函数对数组元素按升序进行排序。
$nums = [6, 4, 2, 8, 1];sort($nums);print_r($nums); //输出:array ( [0] => 1 [1] => 2 [2] => 4 [3] => 6 [4] => 8 )
按降序排序:使用rsort()函数对数组元素按降序进行排序。
$nums = [6, 4, 2, 8, 1];rsort($nums);print_r($nums); //输出:array ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 [4] => 1 )
按关联键值排序:使用asort()函数对数组元素按升序排序(但不会影响键值),使用arsort()函数对数组元素按降序排序(但不会影响键值)。
$ages = ['bob'=>25, 'tom'=>30, 'jerry'=>35];asort($ages);print_r($ages); //输出:array ( [bob] => 25 [tom] => 30 [jerry] => 35 )arsort($ages);print_r($ages); //输出:array ( [jerry] => 35 [tom] => 30 [bob] => 25 )
按关联键名排序:使用ksort()函数对数组元素按键名升序排列,使用krsort()函数对数组元素按键名降序排列。
$ages = ['bob'=>25, 'tom'=>30, 'jerry'=>35];ksort($ages);print_r($ages); //输出:array ( [bob] => 25 [jerry] => 35 [tom] => 30 )krsort($ages);print_r($ages); //输出:array ( [tom] => 30 [jerry] => 35 [bob] => 25 )
以上所有内容便是php数组的一些常见表示方法及其相关操作。我们可以看出,php数组是一种十分灵活、方便的数据结构,而php也提供了丰富的数组操作技术,使得我们在使用数组时能够更简单、更高效地进行开发。
以上就是php的数组表示方法是什么的详细内容。
