❶ php常用的幾個版本都有哪些改變
PHP5.2以前:autoload, PDO 和 MySQLi, 類型約束
PHP5.2:JSON 支持
PHP5.3:棄用的功能,匿名函數,新增魔術方法,命名空間,後期靜態綁定,Heredoc 和 Nowdoc, const, 三元運算符,Phar
PHP5.4:Short Open Tag, 數組簡寫形式,Traits, 內置 Web 伺服器,細節修改
PHP5.5:yield, list() 用於 foreach, 細節修改
PHP5.6: 常量增強,可變函數參數,命名空間增強
PHP 7.0.2 Alpha使用新版的ZendEngine引擎,帶來了許多新的特性
詳細可以參考網頁鏈接
❷ 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
//方法一
//接收一系列參數,並逐一輸出
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執行的慢一些
❸ PHP中可變變數到底有什麼用
動態啊,動態函數,動態類,都能實現,比如:
$f = "foo";
$f();這不就是調用foo函數嗎?
❹ php函數的簡介
用戶自定義函數一個函數可由以下的語法來定義: <?phpfunction foo($arg_1, $arg_2, ..., $arg_n){ echo "Example function./n"; return $retval;}?>任何有效的 php 代碼都有可能出現在函數內部,甚至包括其它函數和類定義。
在 php 3 中,函數必須在被調用之前定義。而 php 4 則不再有這樣的條件。除非函數如以下兩個範例中有條件的定義。
如果一個函數以以下兩個範例的方式有條件的定義,其定義必須在調用之前完成。 <?phpfunction foo(){ function bar() { echo "I don't exist until foo() is called./n"; }}/* We can't call bar() yet since it doesn't exist. */foo();/* Now we can call bar(), foo()'s processesing has made it accessable. */bar();?>php 中的所有函數和類都具有全局域,可以在內部定義外部調用,反之亦然。
php 不支持函數重載,也不可能取消定義或者重定義已聲明的函數。
注:函數名是非大小寫敏感的,不過在調用函數的時候,通常使用其在定義時相同的形式。
php 3 雖然支持默認參數(更多信息請參照默認參數的值),但是卻不支持可變的參數個數。php 4 支持:見可變長度的參數列表和涉及到的相關函數func_num_args(),func_get_arg(),以及func_get_args()以獲取更多的信息。
在 php 中可以調用遞歸函數。但是要避免遞歸函數/方法調用超過 100-200 層,因為可能會破壞堆棧從而使當前腳本終止。 sys_getloadavt()可以獲得系統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鍾內的平均負載。
與其讓伺服器因負載過高而宕掉,不如在系統負載很高時主動die掉一個腳本,sys_getloadavg()就是用來幫你實現這個功能的。不過很遺憾,該函數在windows下無效。 在發送頁面前先看看用戶的瀏覽器都能做些什麼是不是挺好?get_browser()能獲得用戶的瀏覽器類型,以及瀏覽器支持的功能,不過首先你需要一個php_browscap.ini文件,用來給函數做參考文件。
要注意,該函數對瀏覽器功能的判斷是基於該類瀏覽器的一般特性的。例如,如果用戶關閉了瀏覽器對JavaScript的支持,函數無法得知這一點。但是在判斷瀏覽器類型和OS平台方面,該函數還是很准確的。 glob()會讓你覺得用opendir(), readdir()和closedir()來尋找文件非常蠢。

❺ 新人剛學PHP,感覺變數函數(可變函數)沒啥用啊
如果我要根據用戶不同輸入來執行不同的函數,你會怎麼做?寫三個if判斷嗎?還是這樣?
$var=$_GET['var'];
echo$val(2,3);
❻ 不明白php中的可變變數和可變函數有什麼用!
實際的可以給你一個例子,我們提交表單的時候,如果表單元素非常多的話,一個一個去$_POST是不是非常麻煩呢?這樣解決:
foreach($_POST as $key=>$value){
$$key=$value;
}
當然,你要做好過濾,不止$value,連$key也要過濾哦
❼ PHP的幾種函數參數類型及一些特殊函數
給你整理如下:
默認參數:在函數聲明時給參數賦值,而且此默認參數只能在最後,調用時可不傳遞任何參數(若只有默認參數的情況下)
可變參數:一個函數可能需要可個可變數目的參數。在php中,提供了三個函數用於檢索函數中所傳遞的參數。func_get_args()返回一個提供提供給函數的所有參數的數組;func_num_args()返回提供給函數的參數數目;func_get_arg()返回一個來自參數的特定參數。具體如下:
$array = func_get_args();
$count = func_num_args();
$value = func_get_arg();
❽ PHP中,參數調用相應函數是如何實現的
symfony 裡面的 Action 是這樣做的 所有函數都有前綴execute
加入你傳入的是
http://xxx.xxx.xxx.xxx/mymod/myfunc
那麼就是調用mymod 模塊的 myfunc 函數
具體可能是這樣的意思
通過 URI 分析獲取 mod 和 相應的 函數
$moles = "mymod";
$method = "myfunc"
$action = new $$moles();
$action->$method();
也就是 PHP 里比較喜歡人的 可變函數 以及 可變變數的 應用.
❾ php 什麼是可變變數詳細點
可變變數
有時候使用可變變數名是很方便的。就是說,一個變數的變數名可以動態的設置和使用。一個普通的變數通過聲明來設置,例如:
<?php
$a = 'hello';
?>
一個可變變數獲取了一個普通變數的值作為這個可變變數的變數名。在上面的例子中 hello 使用了兩個美元符號($)以後,就可以作為一個可變變數的變數了。例如:
<?php
$$a = 'world';
?>
這時,兩個變數都被定義了:$a 的內容是「hello」並且 $hello 的內容是「world」。因此,可以表述為:
<?php
echo "$a ${$a}";
?>
以下寫法更准確並且會輸出同樣的結果:
<?php
echo "$a $hello";
?>
它們都會輸出:hello world。
以上是chm裡面的
下面 這是我認為比較好理解的!!demo
<?
$a="whfbbs";
$$a='b';
echo $whfbbs;
?>
//輸出 b
❿ 什麼是PHP中可變變數以及如何應用
有時候可變的變數名會給編程帶來很大的方便。也就是說變數名可以被動態的命名和使用。通常變數通過下面這樣的語句來命名<?php
可變變數名指的是使用一個變數的值作為這個變數的名稱。在上面的例子中,通過使用兩個$符號,你可以把hello設置成一個變數的名稱,就像下面那樣。<?php
通過上面的兩個語句,有兩個變數被定義:變數$a,裝的內容是hello 以及變數$hello,裝的內容是 world。 於是,下面的語言:<?php
跟下面的語句的輸出完全一致:<?php
它們都輸出:hello world。
為了使用數組的可變變數名,你需要解決一個歧義問題。就是,如果你寫$$a[1],解析器需要明白究竟你的意思是要把$a[1]當成一個變數,還是要把$$a當成變數、[1]指的是這個變數的索引。解決這個歧義問題的語法是:第一種情況使用${$a[1]},第二種情況使用${$a}[1]。
類屬性也可以通過可變屬性名來訪問。可變屬性名從產生調用所在的變數的訪問范圍內獲取。例如,如果你的表達式是這樣的:$foo-$bar,那麼運行時將會在本地變數范圍內尋找變數$bar,它的值將會做為$foo對象的一個屬性名。如果$bar是個數組也可以使用。
例1 可變變數名<?php
class foo {
var $bar = 'I am bar.';}
$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
上面的例子將會輸出下面的結果:I am bar.
請注意,可變變數名不能用於PHP函數和類里的超級全局數組變數上。