


Detailed explanation of custom functions and array examples in php
1. Custom functions
Custom functions are functions defined by ourselves, customized in PHP The function format is as follows:
function funname(arg1, arg2, arg3......){ //TODO return values; }
<?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); ?>
Output result: Let’s take 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 ?>
<?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 assignment
1. Basic writing format of array
Simple form: array(value 1, Value 2, value 3, …….)
array(“aa”, 12, true, 2.2, “test”, 50); //Get data through array subscript
Complete Format: array(key 1=>value 1, key 2=>value 2, …)
array(“title”=>”aa”, “age”=>20); //The data can only be obtained through the 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 operation
1. Modify
$arr=array(11, 22, 33, 44); $arr[0]=55; //数组变为$arr=array(55, 22, 33, 44);
2. Delete
$arr=array(11, 22, 33, 44); unset($arr[0]); //数组变为$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){ //无键名 echo $value."<br>"; } foreach($arr as $id=>$value){ //输出键和值 echo $id..$value."<br>"; }
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 keys of the array), CASE_UPPER (uppercase letters return the keys of the array)
Function: Convert all KEYs of 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 you use 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 chunks. | 4 |
array_combine() | Creates a new array by merging two arrays. | 5 |
array_count_values() | is 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 the key names and return the difference array of the two arrays. | 5 |
array_diff_uassoc() | Calculate the difference set of the array 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 to calculate the difference set of the array. | 5 |
array_fill() | Fills the array with the given value. | 4 |
array_filter() | Use the callback function to filter the elements in the array. | 4 |
array_flip() | Exchange the keys and values in the array. | 4 |
array_intersect() | Calculate the intersection of arrays. | 4 |
array_intersect_assoc() | Compares the key name and key value, and returns 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 the callback function to compare the indexes. | 5 |
array_intersect_ukey() | Use the callback function to compare the key names to calculate the intersection of the arrays. | 5 |
array_key_exists() | Checks whether the given key name 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() | Merge 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() | Pads the array to the specified length with values. | 4 |
array_pop() | Pop the last unit 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 units (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 the 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() | Remove a segment of value from the array based on conditions 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 the callback function to compare data to calculate the difference of the array. | 5 |
array_udiff_assoc() | Calculate the difference set of the array with index check, and use the callback function to compare the 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 the callback function to compare the data and index. | 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 the values in the array. | 4 |
array_walk() | Apply a user function to each member of the array. | 3 |
array_walk_recursive() | Applies a user function recursively to each member of an array. | 5 |
arsort() | Reverse sort the array and maintain the index relationship. | 3 |
asort() | Sort the array and maintain the index relationship. | 3 |
compact() | Create an array, including variable names and their values. | 4 |
count() | Calculate the number of elements in the array or the number of attributes in the 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() | Use the "natural sorting" algorithm to sort the array in a case-insensitive manner. | 4 |
natsort() | Sorts 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 |
Alias for sizeof() | count(). | 3 |
sort() | Sort the array. | 3 |
uasort() | Use a user-defined comparison function to sort the values in an array and maintain index association. | 3 |
uksort() | Use a user-defined comparison function to sort the key names in the array. | 3 |
usort() | Use a user-defined comparison function to sort the values in the array. | 3 |
The above is the detailed content of Detailed explanation of custom functions and array examples in php. For more information, please follow other related articles on the PHP Chinese website!

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

The reason for using Dependency Injection (DI) is that it promotes loose coupling, testability, and maintainability of the code. 1) Use constructor to inject dependencies, 2) Avoid using service locators, 3) Use dependency injection containers to manage dependencies, 4) Improve testability through injecting dependencies, 5) Avoid over-injection dependencies, 6) Consider the impact of DI on performance.

PHPperformancetuningiscrucialbecauseitenhancesspeedandefficiency,whicharevitalforwebapplications.1)CachingwithAPCureducesdatabaseloadandimprovesresponsetimes.2)Optimizingdatabasequeriesbyselectingnecessarycolumnsandusingindexingspeedsupdataretrieval.

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

TooptimizePHPapplicationsforperformance,usecaching,databaseoptimization,opcodecaching,andserverconfiguration.1)ImplementcachingwithAPCutoreducedatafetchtimes.2)Optimizedatabasesbyindexing,balancingreadandwriteoperations.3)EnableOPcachetoavoidrecompil

DependencyinjectioninPHPisadesignpatternthatenhancesflexibility,testability,andmaintainabilitybyprovidingexternaldependenciestoclasses.Itallowsforloosecoupling,easiertestingthroughmocking,andmodulardesign,butrequirescarefulstructuringtoavoidover-inje

PHP performance optimization can be achieved through the following steps: 1) use require_once or include_once on the top of the script to reduce the number of file loads; 2) use preprocessing statements and batch processing to reduce the number of database queries; 3) configure OPcache for opcode cache; 4) enable and configure PHP-FPM optimization process management; 5) use CDN to distribute static resources; 6) use Xdebug or Blackfire for code performance analysis; 7) select efficient data structures such as arrays; 8) write modular code for optimization execution.

OpcodecachingsignificantlyimprovesPHPperformancebycachingcompiledcode,reducingserverloadandresponsetimes.1)ItstorescompiledPHPcodeinmemory,bypassingparsingandcompiling.2)UseOPcachebysettingparametersinphp.ini,likememoryconsumptionandscriptlimits.3)Ad


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version
SublimeText3 Linux latest version

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
