phpjs數組
『壹』 一張圖讓我看懂php和JS區別
1,類型轉換的不同
在javascript中, 空對象和空數組轉換為boolean值為true;
但在php中 ,空對象空數組轉換為boolean值為false;
(僅在php4中空對象的boolean值為false)
包括非0的負數值,都是轉換為true;
2,實形參的不同
在js中形參和實參的個數對比起來都沒有限制,形參個數可以大於實參,也可以少於實參
而在php中,實參數大於形參不報錯,但當實參個數少於形參個數時(並且未指定的形參未定義時就會報錯)
復制代碼
代碼如下:
function mao(val1,val2,val3){
}
mao(aa,bb);
此時由於val3未指定實參,會報錯
但當val3初始化一個值時,不報錯
復制代碼
代碼如下:
function mao(val1,val2,val3="123"){
}
mao(aa,bb);
js中可以寫一個三元表達式來給未賦值的形參給定一個初始值,不可以和php一樣在形參列表裡面賦值,
本質原因由於php不存在原型連,執行過程中沒有變數對象。
3.數據類型的不同
js中有undefined類型,php中無此類型,
因此當一個變數未賦予任何值時,js中此類型為undefined(使用未申明的變數會報錯),而在php中則為Null類型;
並且js中只有number類型,而在php中無此類型,取代的為int float類型;
4.字元串的連接
js中使用加號 + +=
php中使用點號 ..=
5.控制語句的區別
else if與elseif在php中都支持,js只支持前者
6.大小寫問題
js嚴格區分大小寫
php中自定義函數名不區分大小寫。命名函數時不可使用已聲明的函數,或PHP內建的函數名稱。
7.變數的作用范圍
php在函數范圍之外所聲明的變數就是全局變數。由於函數可以視為單獨的
程序片段,所以局部變數會復蓋全局變數的能見度,因此在函數中並無
法直接調用使用全局變數。函數中若要使用全局變數時,必須要利用global關鍵字定義目標變數,以
告訴函數主體此變數為全局。
js由於原型連的關系,可直接調用
8.靜態變數
PHP支持聲明函數變數為靜態的(static)
js隨無靜態變數但可以定義函數的屬性來冒充靜態變數
『貳』 js中如何使用php中的數組
你先侍塌老用一老升個js變數接收php端的數組,如 var arr = <?php $y ?>(大致是這樣,如果錯了,請別打我呀,我忘記啦)
for(var i=0;i<arr.length;i++)
{
}
接下來用for就可以使用php的數組了呀衫滲。
『叄』 Js和Php的區別是什麼
1、兩者的核心功能不一樣:
php中的核心功能是用函數方式實現,例如取得一個字元串的長度:$length = strlen(str);
而js是用對象的方法實現,例如取得一個字元串的長度:var length = str.length。
2、變數傳值方式不一樣:
js中,變數的傳值傳遞和傳址傳遞是根據傳遞的對象的類型決定的,不能自己隨心控制;
而php中所有類型都可以自由控制其傳值是傳值還是傳址,在變數前加上&就可以變成傳址方式,不加&就是傳值方式。
3、兩者基本特點不一樣:
php是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。
js是一種屬於網路的腳本語言,已經被廣泛用於Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
『肆』 js中如何獲取php數組
js中獲取php數組的代碼如下:
function ajax_test(params){
$.ajax({
url:'./php/data_read.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(procts){
alert(procts);
}
});
}
『伍』 js和php在同一個文件中相互獲取值的問題
你好php是服務端腳本語言,js是瀏覽器端腳本語老漏言,除非使用滾慎ajax進行數據提交否則,一但服務端生成好頁面傳到瀏覽器端後就不再參與瀏覽器端的「運算」,所以你想在同一個頁面中不重新進行請求就js和php相互獲取值是不現實的。
另:
你的代碼分析如下:
<script>
varlinka;
linka=window.location.href;
</script>
<?php
$ch[0]="<script>document.write(linka);</script>";
echo$ch[0]."<br/>";
<script>
到這步為止,php獲得js的變數非常順利
下面侍備爛接著
<script>
vark;
k="<?phpecho$ch[0];?>";
alert(k);
</script>
其實你的整個頁面都是php的,執行
$ch[0]="<script>document.write(linka);</script>";
這一句的時候,php的$ch[0]僅僅只是被賦予了"<script>document.write(linka);</script>"這個字元串,js代碼並沒有運行.php也並沒有獲得js的變數!獲得的只是字元串而已.
『陸』 php和js互相調用,php中有一個數組,在html有一個按鈕,按鈕調用js函數的時候會傳一個數字參數
那就只能使用ajax了!也就是按鈕觸發js函數後, ajax再次非同步執行一次php並返回結果而進行後續操作!
或者頁面執行的時候, 直接將php數組輸出js格式的json數據,也行!
比如:
<?php
$arr=array(
array('a'=>'abc'),
array('a'=>'bcds')
);
?>
<script>
vararr=<?phpechojson_encode($arr)?>;
functionmods(num){
//你自己的操作,下面只是測試而已
alert(arr[num].a);
//arr[num].a就是你要的值
}
</script>
<buttontype="botton"onClick="mods(0)">按鈕</button>
『柒』 php鏁扮粍浼犻丣S鏂規硶閲岄潰鍘 濡備綍鍦↗S閲岄潰閬嶅巻榪欎釜PHP鏁扮粍錛
浠g爜濡備笅: = <?php $arr = array('鏁板' => '98', '璇鏂' => '103', '鑻辮' => '108'); foreach($arr as $k => $v) { $sql = ,SYFmap