PHP实现函数内修改外部变量值的方法示例

本文实例讲述了PHP实现函数内修改外部变量值的方法。分享给大家供大家参考,具体如下:

直接上代码,如下:

$a_str = 'ab';
function change_val(){
  global $a_str; // 通过设置全局变量,修改变量值
  //$a_str = 'abc';
  $a_str = $a_str.'abc';
}
echo $a_str."<br>";
change_val();
echo $a_str."<br>";
echo str_repeat('#',20)."<br>";
$b_str = 'ab';
function change_val_1($s){
  $s = 'abc';
  //$s = $s.'abc';
  return $s; // 通过返回值,修改变量值
}
echo $b_str."<br>";
$b_str = change_val_1($b_str);
echo $b_str."<br>";
echo str_repeat('#',20)."<br>";
$c_str = 'ab';
function change_val_2(&$c_str){//引用调用
  //$c_str = 'abc';
  $c_str = $c_str.'abc';
}
echo $c_str."<br>";
change_val_2($c_str);
echo $c_str."<br>";

运行结果:

ab
ababc
####################
ab
abc
####################
ab
ababc

总结:

  • 尽量少用全局变量。全局变量会增加内存使用量。
  • 传值调用会创建一个副本,数据量很大时,会影响性能。
  • 引用调用时,函数接收的是变量地址,不会创建数据副本,效率高 。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP数组(Array)操作技巧大全》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP的mysqli_stat()函数讲解

    PHP mysqli_stat() 函数 创建 SSL 连接: <?php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict"); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . my

  • PHP array_reduce()函数的应用解析

    实例 向用户自定义函数发送数组中的值,并返回一个字符串: <?php function myfunction($v1,$v2) { return $v1 . "-" . $v2; } $a=array("Dog","Cat","Horse"); print_r(array_reduce($a,"myfunction")); ?>  定义和用法 array_reduce() 函数向用户自定义函数发

  • PHP格式化显示时间date()函数代码

    PHP Date/Time 简介 Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间.您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间. 注释:这些函数依赖于服务器的本地设置.使用这些函数时请记住要考虑夏令时和闰年. 安装 PHP Date/Time 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. Runtime 配置 Date/Time 函数的行为受到 php.ini 中设置的影响: 名称 描述 默认 PHP 版本 date.timezo

  • PHP的mysqli_select_db()函数讲解

    PHP mysqli_select_db() 函数 更改连接的默认数据库: 删除数据库 <?php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict"); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败:

  • php中的explode()函数实例介绍

    PHP是功能强大的网站开发工具之一,它包含各种用于各种目的的内置函数,其中explode()函数是一个内置函数,主要用于将字符串拆分为不同的字符串. 含义: explode()函数基于字符串分隔符拆分字符串,即它将字符串拆分为出自分隔符的位置.此函数返回一个数组,其中包含通过拆分原始字符串形成的字符串,我们可以通过访问数组来轻松检索字符串的每个部分 它的语法结构如下: explode(separator,string,limit) separator:表示指定字符串将要分割的关键点,换句话说,只

  • PHP的mysqli_ssl_set()函数讲解

    PHP mysqli_ssl_set() 函数 实例 创建 SSL 连接: <?php $con=mysqli_init(); if (!$con) { die("mysqli_init failed"); } mysqli_ssl_set($con,"key.pem","cert.pem","cacert.pem",NULL,NULL); if (!mysqli_real_connect($con,"loca

  • PHP的mysqli_sqlstate()函数讲解

    PHP mysqli_sqlstate() 函数 返回最后一个 MySQL 操作的 SQLSTATE 错误代码: <?php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict"); if (mysqli_connect_errno($con)) { echo "

  • PHP的mysqli_rollback()函数讲解

    PHP mysqli_rollback() 函数 关闭自动提交,做一些查询,提交查询,然后回滚当前事务: <?php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict"); if (mysqli_connect_errno($con)) { echo "连接

  • PHP的mysqli_set_charset()函数讲解

    PHP mysqli_set_charset()函数 设置默认客户端字符集: <?php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict"); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: &quo

  • php使用array_chunk函数将一个数组分割成多个数组

    php中可以用array_chunk将一个数组分隔成若干个数组. 数组 $array = ['name' => 'tom', 'age' => 20, 3, 4, 5, 'a', 'b']; 每3个分割一组 $chunk_result = array_chunk($array, 3); 结果 Array ( [0] => Array ( [0] => tom [1] => 20 [2] => 3 ) [1] => Array ( [0] => 4 [1] =

随机推荐