当前位置: 编程技术>php
本页文章导读:
▪JS与PHP向函数传递可变参数的区别实例代码
# JS 调用函数传递可变参数的方法 代码如下: <script> function test() { for(var i = 0;i < arguments.length; i++) { alert(arguments[i]); } } //调用函数 test(1, 2, 3, 'abc'); </script> # PHP 调.........
▪php的list()的一步操作给一组变量进行赋值的使用
例如: <?php list($a,$b) = explode(" ",microtime()); echo $a.'------'.$b; ?> 结果:0.60937700-----1305625768
......
▪php简单对象与数组的转换函数代码(php多层数组和对象的转换)
代码如下: function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ if( gettype($v)=='array' || getType($v)=='object' ) $e[$k]=(object)arrayToObject($v); } return (object)$e; } function objectToArray($e){ $e=(array.........
[1]JS与PHP向函数传递可变参数的区别实例代码
来源: 互联网 发布时间: 2013-11-30
# JS 调用函数传递可变参数的方法
<script>
function test() {
for(var i = 0;i < arguments.length; i++) {
alert(arguments[i]);
}
}
//调用函数
test(1, 2, 3, 'abc');
</script>
# PHP 调用函数传递可变参数的方法
<?php
//方法一
//接收一系列参数,并逐一输出
function show_params () {
//获取传递参数的个数
$count = func_num_args();
//遍历参数并逐一输出
for ($i = 0; $i < $count; $i++) {
//获取参数
$param = func_get_arg($i);
echo $param . PHP_EOL;
}
}
//调用函数
show_params(1, 2, 'apple', 3.14);
//方法2
function show_params () {
//定义存储传递参数的数组
$params = array();
//获取全部参数
$params = func_get_args();
$count = count($params);
//遍历并逐一输出参数
for ($i = 0; $i < $count; $i++) {
echo $params[$i];
echo PHP_EOL;
}
}
//注: 方法2比方法1执行的慢一些
代码如下:
<script>
function test() {
for(var i = 0;i < arguments.length; i++) {
alert(arguments[i]);
}
}
//调用函数
test(1, 2, 3, 'abc');
</script>
# PHP 调用函数传递可变参数的方法
代码如下:
<?php
//方法一
//接收一系列参数,并逐一输出
function show_params () {
//获取传递参数的个数
$count = func_num_args();
//遍历参数并逐一输出
for ($i = 0; $i < $count; $i++) {
//获取参数
$param = func_get_arg($i);
echo $param . PHP_EOL;
}
}
//调用函数
show_params(1, 2, 'apple', 3.14);
//方法2
function show_params () {
//定义存储传递参数的数组
$params = array();
//获取全部参数
$params = func_get_args();
$count = count($params);
//遍历并逐一输出参数
for ($i = 0; $i < $count; $i++) {
echo $params[$i];
echo PHP_EOL;
}
}
//注: 方法2比方法1执行的慢一些
[2]php的list()的一步操作给一组变量进行赋值的使用
来源: 互联网 发布时间: 2013-11-30
例如:
<?php
list($a,$b) = explode(" ",microtime());
echo $a.'------'.$b;
?>
结果:0.60937700-----1305625768
[3]php简单对象与数组的转换函数代码(php多层数组和对象的转换)
来源: 互联网 发布时间: 2013-11-30
代码如下:
function arrayToObject($e){
if( gettype($e)!='array' ) return;
foreach($e as $k=>$v){
if( gettype($v)=='array' || getType($v)=='object' )
$e[$k]=(object)arrayToObject($v);
}
return (object)$e;
}
function objectToArray($e){
$e=(array)$e;
foreach($e as $k=>$v){
if( gettype($v)=='resource' ) return;
if( gettype($v)=='object' || gettype($v)=='array' )
$e[$k]=(array)objectToArray($v);
}
return $e;
}
上面的内容来自 cnblogs jaiho
php多层数组和对象的转换
多层数组和对象转化的用途很简单,便于处理WebService中多层数组和对象的转化
简单的(array)和(object)只能处理单层的数据,对于多层的数组和对象转换则无能为力。
通过json_decode(json_encode($object)可以将对象一次性转换为数组,但是object中遇到非utf-8编码的非ascii字符则会出现问题,比如gbk的中文,何况json_encode和decode的性能也值得疑虑。
下面上代码:
代码如下:
<?php
function objectToArray($d) {
if (is_object($d)) {
// Gets the properties of the given object
// with get_object_vars function
$d = get_object_vars($d);
}
if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return array_map(__FUNCTION__, $d);
}
else {
// Return array
return $d;
}
}
function arrayToObject($d) {
if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return (object) array_map(__FUNCTION__, $d);
}
else {
// Return object
return $d;
}
}
// Useage:
// Create new stdClass Object
$init = new stdClass;
// Add some test data
$init->foo = "Test data";
$init->bar = new stdClass;
$init->bar->baaz = "Testing";
$init->bar->fooz = new stdClass;
$init->bar->fooz->baz = "Testing again";
$init->foox = "Just test";
// Convert array to object and then object back to array
$array = objectToArray($init);
$object = arrayToObject($array);
// Print objects and array
print_r($init);
echo "\n";
print_r($array);
echo "\n";
print_r($object);
?>
最新技术文章: