php交換變數
① php 定義一個函數swap(&$a, &$b)。
$x=5;
$y=6;
functionswap(&$a,&$b){
$temp=$a;
$a=$b;
$b=$temp;
}
echo'調用前$x='.$x.',$y='.$y;
swap($x,$y);
echo" ";
echo'調用後$x='.$x.',$y='.$y;
輸出:
調用前$x=5,$y=6
調用後$x=6,$y=5
② PHP怎麼互換兩個變數值
如果可以藉助第3個變數,則互換比較簡單,這也是常用的做法:
$a = 1;
$b = 2;
$c = $a;
$a = $b;
$b = $c;
③ 一個關於選擇排序的php程序問題,請各位大神幫忙看看這個程序為什麼不能對數組排序啊謝謝各位了。
最後交換變數的地方有錯,修改正確的代碼如下:
<?php
//選擇排序
functionselectSort(&$myarr){
$temp=0;
for($i=0;$i<count($myarr)-1;$i++){
$minVal=$myarr[$i];
$minIndex=$i;
for($j=$i+1;$j<count($myarr);$j++){
if($minVal>$myarr[$j]){
$minVal=$myarr[$j];
$minIndex=$j;
}
}
if($minIndex!=$i){
$temp=$myarr[$i];
$myarr[$i]=$minVal;
$myarr[$minIndex]=$temp;
}
}
}
$arr=array(0,5,-1);
selectSort($arr);
print_r($arr);
?>
④ php自定義函數Change_Num(),要求實現交換num1
這個常見的就是建一個臨時變數,就可以賦值了,比如
$temp = num1;
$num1 = $num2;
$num2 = $temp;
⑤ JS和PHP的變數能共用嗎AJAX怎麼傳遞PHP裡面隨機抽取的數
不能說「變數共用」。可以用AJAX方式交換數據:你可以把返回數據的被調用PHP內容放在另一個文件,跟JS調用代碼分離。
⑥ 用PHP如何實現冒泡排序
<?php//冒泡排序方法functionbubblesort(&$arr){
//定義一個變數保存交換的值
$temp=0;
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
//如果前面的那個數大於後面的那個數,那麼他們就進行交換
$temp=$arr[$j];$arr[$j]=$arr[$j+1];$arr[$j+1]=$temp;
}
}
}
}
$arr=array(100,99,200,5,-4,6,-7);
bubbleSort($arr);
print_r($arr);
//數組是值傳遞,所以傳遞的時候加個&符號就是地址傳遞,改變外部變數?>
⑦ thinkphp如何將兩變數合成新的變數,如$i和$j,其中$j=1,2,3,效果為$i1,$i2
沒太懂你的意思,如果兩個變數的類型不同是不能合並的。
如果都是array(),$arr3
=
array_merge($arr1,$arr2);就是合並2個數組.
如果都是string
,$str1
=
$str2.$str3;這也是字元串拼接,具體就是看你要幹嘛了,
如果你是要把字元串
1,2,3
要和數組array(1,2,3)
合並,那麼你要把其中一個類型轉成和另外一個類型一樣才可以合並。
看懂請採納,謝謝。
⑧ php的幾種常用的數據交換格式
序列化(serialize)、變數、xml、json是PHP常見的4種文本數據交換形式。
一、序列化與反序列化
使用serialize與unserialize將可以將任何數據類型(除了資源),格式成文本數據格式,是php內置的,使用最方便,可以原汁原味將數據、對象等保存與恢復再用。
好處:使用方便,支持好。
不好:沒有通用性只有php能夠支持,文本化體積大。
可能:速度可能會慢。
二、變數
將數據寫成標準的PHP賦值語句存放在文本文件中,在程序執行過程中包含進來,通過執行賦值的操作來恢復變數。discuz經常使用這種方式做為數據的緩存。
好處:直觀。
不好:沒有通用性只有php能夠支持;使用不方便,需要自己將數據轉化成賦值語句;變數的接收方式也不夠靈活。
可能:速度會快些,與序列化相比存儲體積小。
三、xml
將數據格式化成xml存儲與解析。
好處:通用性強,可以與其它程序語言的數據交換;php已經有內置的函數支持。
不好:文本化的體積大;格式化與反解效率低。
四、json
也是類似於xml的一種文本型數據交換格式。是一種為解決xml瀏覽器數據交換復雜而出現一種新的數據格式。
好處:通用性強,目前主流的語言已經內置支持了,5.2(具體請查手冊)版本已經內置支持。php5以後使用很方便,使用方便與序列化類似。與xml相比有更好的兼容性、效率高,尤其是對於瀏覽器。而數據格式體積很小。
可能:效率問題,尤其是解析的效率問題。
⑨ PHP代碼求助老鳥們!!
給你個全解!!!給我推薦
先說一下$Fid_db這個值 我肯定應該是 select * from user後得到的結果集。。。
裡面比如是 array_flip得到的數組集是
array(
[0]=>array([user] = >1, [pass]=>2),
[1]=>array([user] = >123, [pass]=>321)
)
那麼就清清晰多了
EOT; 相當於""
$newarray = array_flip($Fid_db[0]); 這個意識是得到結果[0]=>array([1] = >user, [2]=>pass),把$Fid_db[0]數組裡面的鍵和值對調
foreach($newarray AS $fup){ 數組賦值給予$fup
if(count($Fid_db[$fup])>3){ 第一次循環$fup是[0]=>array([1] = >user, [2]=>pass),
count 是查詢裡面數組中的單元個數 比如例子中就是2個~
if($j>$listsupnum)break; 如果$j大於6 就直接結束命令
還有你最上的EOT;和最下面的print <<<EOT和你這句話一毛關系都沒有 所以不用管~~
⑩ php引用javascript變數問題!
js和php不能相提並論...
在js裡面定義page只能在js裡面使用,是不能在php裡面使用的..
js與php變數交換的話.. 你可以看看ajax技術..(這個不建議現在去看它,會越來越昏)
按照你這個問題我估計你是新學php..
我來說說運行過程吧
首先js定義變數,你並沒有讓它輸出..
在php代碼裡面
你設定 $page 為 <script type='text/javascript'>document.write(page)</script>
這一句列印出來之後是js代碼,所以是由js來輸出的,在前面已經設置page為10,所以輸出10
在下面你輸出 ($page + 1)
這一句讓php非常費解,你前面設定的$page為字元串(<script type='text/javascript'>document.write(page)</script>),現在又加1,顯然是有問題的..
於是php就只能自作主張了~把字元串看作是空值,直接把你的1加進去..
那麼就輸出1了~