Home > Article > Backend Development > PHP Mobile Internet Development Notes (4) - Custom Functions and Arrays_PHP Tutorial
1. Custom function
Custom functions are functions that we define ourselves. The format of custom functions in PHP is as follows:
function funname(arg1, arg2, arg3...){
//TODO
return values;
}
Output result:
<?php function fun($m, $n){ if($m==0 || $n==0){ return 0; }else{ $a=$m*$n; return $a; } } $p=2; $h=3; echo $p."*".$h."=".fun($p,$h); ?>
The following is another function with variable parameters
<?php /* function fun($m, $n){ if($m==0 || $n==0){ return 0; }else{ $a=$m*$n; return $a; } } $p=2; $h=3; echo $p."*".$h."=".fun($p,$h); */ function fun($m, $n=1, $x=2){ $a=$m*$n*$x; return $a; } $p=2; echo fun($p)."<br>"; // 2*1*2 = 4 echo fun($p, 3)."<br>"; // 2*3*2 = 12 echo fun($p, 3, 3)."<br>"; // 2*3*3 = 18 ?>
Let’s take a look at custom function reference passing
<?php /* function fun($m, $n){ if($m==0 || $n==0){ return 0; }else{ $a=$m*$n; return $a; } } $p=2; $h=3; echo $p."*".$h."=".fun($p,$h); */ /* function fun($m, $n=1, $x=2){ $a=$m*$n*$x; return $a; } $p=2; echo fun($p)."<br>"; // 2*1*2 = 4 echo fun($p, 3)."<br>"; // 2*3*2 = 12 echo fun($p, 3, 3)."<br>"; // 2*3*3 = 18 */ function fun(&$n){ $n=$n*$n; } $p=2; fun($p); echo $p; ?>
2. Array definition and assignment
1. Basic writing format of array
Simple form: array(value1, value2, value3, ..........)
array("aa", 12, true, 2.2, "test", 50); //Get data through array subscript
Full form: array(key1=>value1, key2=>value2, ...)
array("title"=>"aa", "age"=>20); //Data can only be obtained by key name
2. How to create an array
//第一种 $arr1=array(11, 22, 33, "44"); //第二种 $arr2=array('a'=>'11', 'b'=>'22'); //第三种 $arr3[0]='20'; $arr3[1]='30';
3. Array operations
1. Modification
$arr=array(11, 22, 33, 44);
$arr[0]=55; //The array becomes $arr=array(55, 22, 33, 44);
2. Delete
$arr=array(11, 22, 33, 44);
unset($arr[0]); //The array becomes $arr=array(22, 33, 44);
3. Use
$arr=array(11, 22, 33, 44);
echo $arr[0];
$arr=array('a'=>11, 'b'=>22, 'c'=>33, 'd'=>44);
echo $arr['b']];
4. Traverse
$arr=array('a'=>11, 'b'=>22, 'c'=>33, 'd'=>44);
foreach($arr as $value){ //No key name
echo $value."0c6dc11e160d3b678d68754cc175188a";
}
foreach($arr as $id=>$value){ //Output key and value
echo $id."__".$value."0c6dc11e160d3b678d68754cc175188a";
}
4. Two-dimensional array
$arr=array(array("1","11","111"), array("2","22","222"));
echo $arr[1][2];
5. Array function
(1)array_change_key_case(array, case)
array: required, array.
case: optional, CASE_LOWER (default value, lowercase letters return the key of the array), CASE_UPPER (uppercase letters return the key of the array)
Function: Convert all KEYs in the array to uppercase or lowercase.
<?php $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); print_r(array_change_key_case($a,CASE_UPPER)); ?> 结果:Array ( [A] => Cat [B] => Dog [C] => Horse )(2)array_chunk(array,size,preserve_key)
array: required.
size: required, specifies how many elements each new array contains.
preserve_key: optional, true (preserve key name), false (new index)
Function: Divide an array into new array blocks.
<?php //array_chunk(array,size,preserve_key) $a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow"); print_r(array_chunk($a1,2)); $a2=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow"); print_r(array_chunk($a2,2,true)); ?> 结果:
Array ( [0] => Array ( [0] => Cat [1] => Dog ) [1] => Array ( [0] => Horse [1] => Cow ) )
Array ( [0] => Array ( [a] => Cat [b] => Dog ) [1] => Array ( [c] => Horse [d] => Cow ) )......
There are many functions like this, you can check them when using them. The list is as follows (php represents the first version)
Function Description PHP array() Create an array. 3 array_change_key_case() Returns an array whose keys are all uppercase or lowercase. 4 array_chunk() Split an array into new array blocks. 4 array_combine() Create a new array by merging two arrays. 5 array_count_values() Used to count the number of occurrences of all values in the array. 4 array_diff() Returns the difference array of two arrays. 4 array_diff_assoc() Compare the key name and key value, and return the difference array of the two arrays. 4 array_diff_key() Compare key names and return the difference array of the two arrays. 5 array_diff_uassoc() Calculate the difference set of arrays by doing index checking through the callback function provided by the user. 5 array_diff_ukey() Use the callback function to compare the key names and calculate the difference set of the array. 5 array_fill() Fills the array with the given values. 4 array_filter() Use callback function to filter the elements in the array. 4 array_flip() Swap the keys and values in the array. 4 array_intersect() Calculate the intersection of arrays. 4 array_intersect_assoc() Compare the key name and key value and return the intersection array of the two arrays. 4 array_intersect_key() Calculate the intersection of arrays using key name comparison. 5 array_intersect_uassoc() Calculate the intersection of arrays with index checking, and use callback functions to compare the indices. 5 array_intersect_ukey() Use callback function to compare key names to calculate the intersection of arrays. 5 array_key_exists() Checks whether the given key or index exists in the array. 4 array_keys() Returns all key names in the array. 4 array_map() Apply the callback function to the cells of the given array. 4 array_merge() Combine one or more arrays into one array. 4 array_merge_recursive() Recursively merge one or more arrays. 4 array_multisort() Sort multiple arrays or multidimensional arrays. 4 array_pad() Pall the array to the specified length with values. 4 array_pop() Pop the last element of the array (pop off the stack). 4 array_product() Calculate the product of all values in an array. 5 array_push() Push one or more cells (elements) to the end of the array (push). 4 array_rand() Randomly select one or more elements from the array and return it. 4 array_reduce() Use a callback function to iteratively reduce the array to a single value. 4 array_reverse() Reverse the order of elements in the original array, create a new array and return it. 4 array_search() Search for the given value in the array and return the corresponding key name if successful. 4 array_shift() Deletes the first element in the array and returns the value of the deleted element. 4 array_slice() Retrieve a value from the array based on the condition and return it. 4 array_splice() Remove part of the array and replace it with other values. 4 array_sum() Calculate the sum of all values in an array. 4 array_udiff() Use callback function to compare data to calculate the difference of arrays. 5 array_udiff_assoc() Calculate the difference set of arrays with index checking, and use callback functions to compare data. 5 array_udiff_uassoc() With index check, calculate the difference set of the array, and use the callback function to compare the data and index. 5 array_uintersect() Calculate the intersection of arrays and use callback functions to compare data. 5 array_uintersect_assoc() Calculate the intersection of arrays with index checking and use callback functions to compare data. 5 array_uintersect_uassoc() Calculate the intersection of arrays with index checking, and use callback functions to compare data and indexes. 5 array_unique() Remove duplicate values from the array. 4 array_unshift() Insert one or more elements at the beginning of the array. 4 array_values() Returns all values in the array. 4 array_walk() Apply a user function to each member of the array. 3 array_walk_recursive() Apply the user function recursively to each member of the array. 5 arsort() Reverse sort the array and maintain index relationship. 3 asort() Sort the array and maintain index relationship. 3 compact() Create an array including variable names and their values. 4 count() Count the number of elements in an array or the number of attributes in an object. 3 current() Returns the current element in the array. 3 each() Returns the current key/value pair in the array and moves the array pointer forward one step. 3 end() Point the internal pointer of the array to the last element. 3 extract() Import variables from the array into the current symbol table. 3 in_array() Checks whether the specified value exists in the array. 4 key() Get the key name from the associative array. 3 krsort() Sort the array in reverse order by key name. 3 ksort() Sort the array by key name. 3 list() Assign the values in the array to some variables. 3 natcasesort() Sort the array in a case-insensitive manner using the "natural sorting" algorithm. 4 natsort() Sort the array using the "natural sorting" algorithm. 4 next() Move the internal pointer in the array forward one position. 3 pos() An alias for current(). 3 prev() Rewind the internal pointer of the array by one bit. 3 range() Create an array containing elements in the specified range. 3 reset() Point the internal pointer of the array to the first element. 3 rsort() Sort the array in reverse order. 3 shuffle() Rearrange the elements in the array in random order. 3 sizeof() An alias for count(). 3 sort() Sort the array. 3 uasort() Use user-defined comparison functions to sort values in an array and maintain index association. 3 uksort() Use user-defined comparison function to sort the keys in the array. 3 usort() Sort the values in an array using a user-defined comparison function. 3