数组换位置一.介绍 PHP(外文名:PHP: Hyperte(14)
定义时可以不给定形参,调用时可以给定任意个数的实参。
<?php
function myFunc(){
var_dump(func_get_args()); //获得一个函数所接收到的所有实参数据,并结果是一个数组
var_dump(func_get_arg(1)); //获得一个函数所接收到的第n歌实参数据(n从0开始)
var_dump(func_num_args()); //获得一个函数所接收到的所有实参数据的个数
}
myFunc(1,2,3,4,5);
引用传递返回值
<?php
function &myFunc(){
static $result = 0;//静态变量,第一次调用这个函数赋值,再次调用这个函数不会被赋值
return $result;
}
$v1 = &myFunc();//0
echo $v1;
$v1++;
$v1 = &myFunc();//1
echo $v1;
函数名是变量
<?php
function myFunc($func){
function f1(){
echo "function f1";
}
$func();
}
myFunc(‘f1‘);
将函数赋值给变量
<?php
$myFunc = function(){
echo "myFunc";
};//这是赋值,这个分号必须有
$myFunc();
用于能够使用(匿名)函数当作实参的函数(eg:call_user_func_array())
<?php
$arr = array(1,2,3,4,5,6,7);
//求和
$sum = call_user_func_array(function(){
$arr = func_get_args();
$sum = 0;
foreach($arr as $v){
$sum += $v;
}
return $sum;
},$arr);
echo $sum;
局部作用域:只能在所定义的函数范围内使用。
全局作用域:在函数的“外部”范围使用。
php中全局作用域变量函数不能直接使用(js可以)
超全局作用域:就是在函数的内部和外部都可以使用。
静态局部作用域:数据能够在函数退出后仍然保持不丢失。
使用:
局部范围使用global关键字:局部创建同名变量指针指向全局变量对应的数据。
局部范使用$GLOBALS超全局数组来使用全局变量:直接操作全局变量
<?php
$global1 = 123;
$global2 = 456;
function get_global(){
global $global1;
echo $global1;//123
echo $GLOBALS[‘global2‘];//456
unset($global1);
unset($GLOBALS[‘global2‘]);
};
get_global();
echo "---".$global1;//123
echo $global2;//undefined
在函数内部为$GLOBALS数组添加元素
引用传递方式传参数
引用传递方式传返回值
<?php
function set_global(){
$GLOBALS[‘local‘] = ‘local‘;
};
set_global();
echo $local;
function get_local1(&$v1){
$local = ‘local‘;
$v1 = $local;
}
get_local1($v1);
echo $v1;
function &get_local2(){
$local = ‘local‘;
return $local;
}
$v1 = &get_local2();
echo $v1;
http://www.jiaoanw.com/%E6%95%99%E6%A1%88%E6%A0%BC%E5%BC%8F/article-25814-14.html
http://www.jiaoanw.com/
true
教案网
http://www.jiaoanw.com/%E6%95%99%E6%A1%88%E6%A0%BC%E5%BC%8F/article-25814-14.html
report
2057
定义时可以不给定形参,调用时可以给定任意个数的实参。 ?phpfunction myFunc(){ var_dump(func_get_args()); //获得一个函数所接收到的所有实参数据,并结果是一个
早安