PHP:使用静态变量
生活随笔
收集整理的這篇文章主要介紹了
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:使用静态变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cocos Creator 3.2 中实
- 下一篇: 动态规划算法php,php算法学习之动态