Maison > Article > développement back-end > Résumé des fonctions de tableau courantes et exemples en PHP [Bases]
Recommandé : "Tutoriel vidéo PHP"
1. Quelques fonctions d'opération de base des tableaux sur les noms et valeurs de clés
1. Récupérez toutes les clés ou valeurs du tableau : array_keys()
array_values()
$arr_keys = array_keys($array);$arr_values = array_values($arr);
2. Échangez les positions des clés et des valeurs dans le tableau Si la précédente est répétée, elle sera écrasée par la suivante : array_flip()
$arr2 = array_flip($arr);
3. Si la valeur donnée est dans le tableau : in_array(value,array)
$bool = in_array('hello',$arr);
4. et renvoie sa clé si c'est le cas, ou FALSE si ce n'est pas le cas : array_search()
$bool = array_search('hello',$arr);
5 Si la clé donnée existe dans le tableau : isset(array[key])
et array_key_exists(key,array)
$bool = array_key_exists('a',$arr);
. 6. Obtenez le nombre d'éléments du tableau : count(array,mode)
, lorsque le mode est 1, cela signifie récursion Comptez le tableau, la valeur par défaut est 0. Alias sizeof()
$n = count($arr); //等价于:$n = sizeof($arr);
7. Modifiez le nom de la clé dans le tableau en minuscules ou en majuscules : array_change_key_case(array,case)
. case a deux quantités couramment utilisées : CASE_UPPER
ou CASE_LOWER
(valeur par défaut), c'est-à-dire que la valeur par défaut est entièrement en minuscules
$lowarr = array_change_key_case($arr,CASE_LOWER);
8. Comptez le nombre d'occurrences de toutes les valeurs du tableau : array_count_value(array)
. Renvoie un tableau, la clé est la valeur du tableau d'origine, la valeur est le nombre de fois que cet élément apparaît dans le tableau d'origine
$arr_count = array_count_values($arr);
9 Obtenez le premier ou le dernier nom de clé du tableau : , array_key_first(array)
array_key_last(array)
$key = array_key_first($arr)10. Pop le dernier élément du tableau :
$last = array_pop($array);Poussez une ou plusieurs cellules à la fin du tableau ou au début du tableau, et renvoyez le nombre de nouveaux tableaux :
$new_array = array_push($array,$value1,$value2,...);$new_array = array_unshift($array,$value1,$value2,...);11. Inversez l'ordre du tableau :
array_reverse(array)
$reverse = array_reverse($arr)12. Somme ou produit toutes les valeurs du tableau :
$sum = array_sum($array);$product = array_product($array);<.>13. Supprimez les valeurs en double du tableau :
array_unique($array,,SORT_STRING);sort_falgs参数用于修改排序行为:SORT_NUMERIC - 按照数字形式比较、SORT_STRING - 按照字符串形式比较
14. Mélangez le tableau :
$bool = shuffle($arr);
shuffle(array)
15. Obtenez au hasard un ou plusieurs noms de clés du tableau : <.> et renvoie un tableau contenant des noms de clés aléatoires. array_rand(array,num=1)
2. Résumé de quelques fonctions opérationnelles sur la création et le fractionnement de tableaux
1. Diviser un tableau en plusieurs tableaux : Paramètres :
: Spécifiez le nombre d'éléments dans chaque tableau array_chunk(array,size,preserve_keys)
: Spécifiez s'il faut conserver le nom de clé d'origine, la valeur par défaut est
. size
La fonction renvoie un tableau bidimensionnel
$myarr = array_chunk($arr,2)
preserve_keys
2 Créez un tableau, en utilisant la valeur d'un tableau comme nom de clé et la valeur d'un autre tableau comme valeur :false
$arr_1 = ['A','B','C'];$arr_2 = ['a','b','c'];$arr_3 = array_combine($arr_1,$arr_2);3. Remplissez le tableau avec la clé et la valeur spécifiées :
array_combine(keys,values)
$keys = array('foo', 5, 10, 'bar');$a = array_fill_keys($keys, 'banana');4. Remplissez le tableau avec la valeur donnée :
array_fill_keys(keys,value)
Paramètres :
. : Le premier du tableau Un index array_fill(start_index,num,value)
: Le nombre d'éléments insérés, c'est-à-dire la longueur du tableau, doit être un nombre non négatif start_index
: La valeur utilisée pour remplir
$arr = array_fill(0,10,'myname');
num
5. Fusionnez un ou plusieurs tableaux : value
Lorsque les noms de touches sont identiques, si le nom de touche est un caractère, il sera écrasé. Le nom de touche numérique ne sera pas écrasé. mais sera ajouté à la fin. $a = array_merge($arr_1,$arr_2);
6. Fusionner récursivement un ou plusieurs tableaux :array_merge(array1,array2...)
Si les tableaux ont le même nom de clé de tableau, cette dernière valeur n'écrasera pas la valeur d'origine, mais sera ajouté à l'arrière.
7. Attachez une valeur à la longueur spécifiée Remplir le tableau : array_merge_recursive(array_1,array_2,...)
Paramètres :
: La longueur du tableau après le remplissage. , s'il est positif, il sera rempli à droite du tableau, s'il est négatif, il sera rempli à gauche du tableau array_pad(array,size,value)
: Valeur utilisée pour remplir size
8. Prendre une section du tableau : value
Paramètres :
: décalage de départ, soit positif, soit négatif array_slice(array,offset,length,preserve_keys)
: La longueur obtenue, un nombre positif indique le nombre de éléments obtenus, un nombre négatif indique la distance par rapport à la fin du tableauoffset
: s'il faut conserver le nom de clé d'originelength
10 Supprimer une certaine partie du tableau et utiliser un autre remplacement de valeur : preserve_keys
Paramètres :
: L'unité supprimée est remplacée par l'unité de ce tableau array_splice(array,offset,length,replacement_array)
11. Créez un tableau à l'aide de variables :
, la variable est nommée nom de clé , la valeur de la variable est la valeur de l'élément replacement_array
, le nom de la clé est le nom de la variable, la valeur est la valeur de la variable compact(var1,var2,...)
13. Attribuez la valeur de la variable du tableau :
list($drink, , $power) = array('coffee', 'brown', 'caffeine');
extract(array)
14 Créez un tableau basé sur la plage, contenant les éléments spécifiés : .
range(0,8,2) ==> [0,2,4,6,8]
三、数组排序基本函数名为 sort
可以添加其他拓展:r表示逆向排序,k表示对键名进行排序,a表示保持索引关系,u表示用自定义的函数进行比较 1.详细介绍sort函数的情况,其他的函数类似
/*bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )SORT_REGULAR参数可以用以下值改变排序的行为:SORT_REGULAR - 正常比较单元(不改变类型)SORT_NUMERIC - 单元被作为数字来比较SORT_STRING - 单元被作为字符串来比较SORT_LOCALE_STRING - 根据当前的区域(locale)设置来把单元当作字符串比较,可以用 setlocale() 来改变。SORT_NATURAL - 和 natsort() 类似对每个单元以“自然的顺序”对字符串进行排序。 PHP 5.4.0 中新增的。SORT_FLAG_CASE - 能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串。 */
排序函数分类大致如下:
2.sort()、rsort():对值进行升序和降序的排序3.ksort()、krsort():对键名进行升序和降序的排序4.asort()、arsort():保持索引关系的同时,对值进行升序和降序的排序5.usort()、uksort()、uasort():使用自定义的排序函数,进行按值的升序排序、按键名的升序排序、保持索引关系的升序排序6.natsort():使用自然排序算法对数组进行排序7.natcasesort():使用自然排序算法对数组进行不区分大小写字母的排序
四、数组运算
数组差集的计算 u表示用自定义的回调函数,diff表示用数据做差集,assoc表示用索引做差集
1.计算数组的差集:array_diff(array1,array2,...)
对比array1和其他数组,返回在array1中但不在其他数组中的值。返回一个数组,但是键名不保留
2.用回调函数比较数据来计算数组的差集:array_udiff(arr1,arr2,...,value_cpmpare_func)
使用用户自定义的函数进行数据比较,而不是内置的函数。
3.使用键名比较计算数组的差集:array_diff_key(array1,array2,...)
使用键名而不是值来进行差集计算
4.用回调函数对键名比较计算数组的差集:array_diff_ukey(arr1,arr2,...,key_compare_func)
5.带索引检查计算数组的差集:array_diff_assoc(array1,array2,..)
同时使用键名和值来进行差集计算
6.带索引检查计算数组的差集,用回调函数比较索引:array_diff_uassoc(arr1,arr2,...,key_compare_func)
key_compare_func
:用户自定义的用于比较键名的函数。
7.带索引检查计算数组的差集,用回调函数比较数据:array_udiff_assoc(arr1,arr2,...,value_cpmpare_func)
value_cpmpare_func
:用户自定义的用于比较数据的函数
8.用回调函数比较数据和索引,计算数组的差集:array_udiff_uassoc(arr1,arr2,...,value_cpmpare_func,key_compare_func)
数组交集的计算 同差集一样,也有8个函数:
array_intersect() 使用数据进行交集比较 array_uintersect() 使用数据进行交集比较,但是自定义函数比较 array_intersect_key() 使用键名进行交集比较 array_intersect_ukey() 使用键名进行交比较,但是自定义函数比较 array_intersect_assoc() 同时使用数据和键名 array_intersect_uassoc() 同时使用数据和键名,但是键名使用自定义函数比较 array_uintersect_assoc() 同时使用数据和键名,但是数据使用自定义函数比较 array_uintersect_uassoc() 同时使用数据和键名,都使用自定义函数
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!