php数组中有一些函数与数学相关的函数,大多都是以array开头然后下划线接一个数学上的英文单词,如下:
1 array_diff()2 array_diff_assoc()3 array_interct()4 array_interct_assoc()5 array_sum()6 array_product()7 array_count_values()
首先是数组集合函数,差集array_diff,用于得到目标数组和其他数组的都不同的那些元素
1 $arr = [1, 2, 3, 4, 5, 6, 7, 8];2 $arr1 = [1, 2, 3, 4, 6];3 $arr2 = [1, 2, 3, 4, 7];4 print_r( array_diff( $arr, $arr1, $arr2 ) );
// array// (// [4] => 5// [7] => 8// )
对于关联数组,和上面的结果一致,因为array_diff函数只比教值是否相同
1 $arr = [ 2 'a' => 1, 'b' => 2, 3 'c1' => 3, 'd1' => 4, 'e1' => 5, 4 'f'单簧管好学吗 => 6, 'g' => 7, 'h' => 8 5 ]; 6 $arr1 = [ 7 'a' => 1, 'b' => 2, 8 'c' => 3, 'd' => 4, 'e' => 6 9 ];10 $arr2 = [11 'a' => 1, 'b' => 2,12 'c' => 3, 'd' => 4, 'e' => 713 ];14 print_r( array_diff( $arr, $arr1, $arr2 ) );15 // array16 // (17 // [e1] => 518 // [h] => 819 // )
array_diff_assoc函数从名字上来看,就知道需要比较每个元素的键,区分广州旅游路线大小写,
1 $arr = [ 2 'a' => 1, 'b' => 2, 3 'c1' => 3, 'd1' => 4, 'e1' => 5, 4 'f' => 6, 'g' => 7周公诫子, 'h' => 8 5 ]; 6 $arr1 = [ 7 'a' => 1, 'b' => 2, 8 'c' => 3, 'd' => 4, 'e' => 6 9 ];10 $arr2 = [11 'a' => 1, 'b' => 2,12 'c' => 3, 'd' => 4, 'e' => 713 ];14 print_r( array_diff_assoc( $arr, $arr1, $arr2 ) );15 // array16 // (17 // [a] => 118 // [b] => 219 // [c1] => 320 // [d1] => 421 // [e1] => 522 // [f] => 623 // [g] => 724 // [h] => 825 // )
array_interct()函数,获得目标函数与其他函数都相同的函数,只比教值
1 $arr = [ 2 'a' => 1, 'b' => 2, 3 'c1' => 3, 'd1' => 4, 'e1' => 5, 4 'f' => 6, 'g' => 7, 'h' => 8 5 ]; 6 $arr1 = [ 7 'a' => 1, 'b' => 2, 8 'c' => 3, 'd' => 4, 'e' => 6 9 ];10 $arr2 = [11 'a' => 1, 'b' => 2,12 'c' => 3, 'd' => 4, 'e' => 713 ];14 print_r( array_interct( $arr, $arr1, $arr2 ) );15 // array16 // (17 // [a] => 118 // [b] => 219 // [c1] => 320 // [d1] => 421 // )
array_interct_assoc()只有键和值都一样才行。
1 $arr = [ 2 'a' => 1, 'b' => 2, 3 'c1' => 3, 'd1' => 4, 'e1' => 5, 4 'f' => 6, 'e' => 7, 'h' => 8 5 ]; 6 $arr1 = [ 7 'a' => 1, 'b' => 2, 8 'c' => 3, 'd' => 4, 'e' => 6 9 ];10 $arr2 = [11 'a' => 1, 'b' => 2,12 'c' => 3, 'd' => 4, 'e' => 713 ];14 print_r( array_interct_assoc( $arr, $arr1, $arr2 ) );15 // array16 // (17 // [a] => 118 // [b] => 219 // )
array_sum()函数计算数组中所有元素值的和,array_product()函数计算数组中所有元素的积,
对于元素值为数字,很符合数学,但如果是字符和数字混杂。
1 $arr = [1, 2, 3, 4, 5, 'a', 'asss'];2 $arr1 = [ '1', '2', '2as', '2a2' ];3 echo arr高数导数公式ay_sum($arr), php_eol, array_sum($arr1);
157
这就采用了自动类型转换(字符串转数字)的规则了。对于array_product()这个函数,数学规则的不同,导致结果也是不同。
1 $arr = [1, 2, 3, 4, 5, 'a', 'asss'];2 $arr1 = [ '1', '2', '2as', '2a2' ];3 echo array_product($不为五斗米折腰主人工是谁arr), php_eol, array_product($arr1);4 // 05 // 8
array_count_values()函数,统计每一个值的个数
1 $arr = [1, 2, 3, '1', '2', 1, 2];2 print_r( array_count_values($arr) );3 // array4 // (5 // [1] => 36 // [2] => 37 // [3] => 18 // )
从结果来看似乎也涉及到了自动类型转换规则。注意:向这个函数中传入二维以上数组,会有warning提示,也不会统计二维数组中一维数组的值。
本文发布于:2023-04-07 20:22:13,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/94823c81d8e84d7be531c53ef428918d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php数组的数学功能相关常用函数.doc
本文 PDF 下载地址:php数组的数学功能相关常用函数.pdf
留言与评论(共有 0 条评论) |