欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

PHP:使用静态变量

发布时间:2023/12/15 php 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 PHP:使用静态变量 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在使用任何可能会被多次调用的函数时,我们都应考虑使用静态变量。静态变量让函数在多次被调用时记住变量的值,而这些变量并不是全局变量。

上一篇笔记说到了多维数组的排序需首先自定义排序函数。现在提出一个新的需求:统计递归的次数。那么我们就要使用静态变量了。

示例:使用静态变量

<?php //创建数组$students = array(256 => array('name' => 'John', 'grade' => 98),23 => array('name' => 'Tom', 'grade' => 85),9 => array('name' => 'Steve', 'grade' => 94),363 => array('name' => 'Robert', 'grade' => 83),69 => array('name' => 'Jack', 'grade' => 78));//按名字排序/*$count是一个静态变量它的初始值为1,它的赋值操作只在函数第一次被调用执行(因为它是一个静态变量),然后下一条语句打印递归次数, *最后$count的值加1*/function name_sort($x, $y) {static $count = 1;echo "<p>Iteration $count: {$x['name']} vs {$y['name']}</p>\n";$count++;return strcasecmp($x['name'], $y['name']);}//按成绩排序function grade_sort($x, $y) {static $count = 1;echo "<p>Iteration $count: {$x['grade']} vs {$y['grade']}</p>\n";$count++;return ($x['grade'] < $y['grade']);}uasort($students, 'name_sort');echo "<pre>".print_r($students,1)."<pre>";uasort($students, 'grade_sort');echo "<pre>".print_r($students,1)."<pre>"; ?>
我们来看一下运行结果:


总结一下:在可能会被多次调用的函数中,我们应考虑使用静态变量,静态变量让函数在多次被调用时记住变量的值,而这些变量不是全局变量。

总结

以上是生活随笔为你收集整理的PHP:使用静态变量的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。