㈠ 求php圖片輪播代碼
<?php
$img_list = myfun_get_image_list();
if (isset($_SESSON['cur_img_idx'])) { // 這里用COOKIE也可以
$img_index = $_SESSON['cur_img_idx'] + 1;
if ($img_index >= count($img_list)) {
$img_index -= count($img_list);
}
} else {
$img_index = 0;
}
$img_path = $img_list[$img_index];
$_SESSION['cur_img_idx'] = $img_index;
echo "<img src='$img_path' />";
$img_path =
㈡ 上網找到的PHP批量下載圖片文件代碼: 能不能說一說上具體怎樣實現
比如說有個style.css 裡面有a.jpg b.jpg等圖片文件 。
程序讀取sytle.css里的各個圖處的路徑,即 .../a.jpg , ..../b.jpg 然後讀到一個數組里。
再遍歷這個數組,找到每一個圖片,下載下來。
就這樣簡單,希望能幫到你,^-^
㈢ php代碼執行順序
php代碼理論上是從上到下的執行順序,但是也不是你這樣理解!
他最終的輸出內容,是根據你寫的php代碼的邏輯進行判斷輸出的!
比如:
$i=10;
if($i==20){
echo'您好!'
}else{
echo'太好了';
}
這段代碼執行順序確實是從上到下,但並不是說, echo '您好' 在echo '太好了' 的上面,那就一定會 輸出 「您好」這兩個字,
而是你看的邏輯
首先 $i 等於10,
所以 if ( $i == 20 )這個條件是不成立的
所以最終輸出的結果是 」太好了「3個字!
php所謂的代碼從上到下的執行順序,那是對於php伺服器端而言, 最終你在終端看到的結果, 是以代碼的邏輯思維為准!
㈣ php 順序顯示圖片 代碼
有兩種實現方法:
1、利用JS在客戶端實現,可以用JS生成cookies記錄當前顯示的圖片,用一個JS數組按順序存儲圖片地址,初始顯示數組[0],每刷新一次把cookies+1,並顯示+1之後的數組成員內的圖片地址,這個辦法不需要伺服器有任何操作,簡單易用。
2、利用PHP里的session或cookies存儲判斷當前圖片,利用PHP數組按順序存儲圖片地址,每刷一次,當前圖片索引+1,然後輸出該索引的圖片數組的地址,實現每次刷新都按順序更換。
㈤ 常見的php排序演算法
常見的php排序演算法
本文匯總了常見的php排序演算法,在進行演算法設計的時候有不錯的借鑒價值。現分享給大家供參考之用。具體如下:
一、插入排序
用文字簡單的描述,比如說$arr = array(4,2,4,6,3,6,1,7,9); 這樣的一組數字進行順序排序:
那麼,首先,拿數組的第二個元素和第一元素比較,假如第一個元素大於第二元素,那麼就讓兩者位置互換,接下來,拿數組的第三個元素,分別和第二個,第一個元素比較,假如第三個元素小,那麼就互換。依次類推。這就是插入排序,它的時間頻度是:1+2+...+(n-1)=(n^2)/2。則它的時間復雜度為O(n^2).
php實現代碼如下:
<?phpfunction Sort($arr){ $count = count($arr); if($count<2){ return $arr; } for($i=1;$i<$count;$i++){ tmp="$arr[$i];" j="">=0&&$arr[$j]<$arr[$i]){ return="">
二、選擇排序
選擇排序用語言描述的話,可以這樣,如:$arr = array(4,3,5,2,1);
首先,拿第一個和後面所有的比,找出最小的那個數字,然後和第一個數組互換(當然,如果是第一個最小,那麼就不用互換了),接著循環,即:拿第二個和後面的比較,找出最小的數字,然後和第二個數字互換,依次類推,也就是說每次都是找出剩餘最小的值。 可得到:第一次,時間頻度 是n, (第一個和後面的n-1個比較,找到最小的,再看是不是第一個,不是第一個的話進行互換) 在往後,依次是 減一 。 它的時間復雜度,也是O(n^2);
php實現代碼如下:
<?phpfunction selectSort($arr){ $count = count($arr); if($count<2){ return $arr; } for($i=0;$i<$count;$i++){ $min=$i; for(j=$i+1;$j<$count;$j++){>$arr[$j]){ $min = $j; //找到最小的那個元素的下標 } } if($min!=$i){//如果下標不是$i 則互換。 $tmp= $arr[$i]; $arr[$i] = $arr[$min]; $arr[$min] = $tmp; } } return $arr; }?>
三、冒泡排序
冒泡排序其實上是和選擇排序相比,並無明顯差別。都是找到最小的,放到最左端。依次循環解決問題。差別在於冒泡排序的交換位置的次數較多,而選擇排序則是找到最小的元素的下標,然後直接和最左端的交換位置。
php實現代碼如下:
<?phpfunction selectSort($arr){ $count = count($arr); if($count<2){ return $arr; } for($i=0;$i<$count;$i++){ for(j=$i+1;$j<$count;$j++){>$arr[$j]){ $tmp= $arr[$i]; $arr[$i] = $arr[$i]; $arr[$i] = $tmp; } } } return $arr; }?>
四、快速排序
快速排序,用語言來形容的話,從數組中選擇一個值$a,然後和其餘元素進行比較,比$a大的放到數組right中,反之,放到數組left中。然後將left right 分別進行遞歸調用,即:再細分left right ,最後進行數組的合並。
php實現快速排序:
<?phpfunction mySort($arr){ $count = count($arr); if($count<2){ return $arr; } $key = $arr[0];//選擇第一個元素作為比較元素,可選其他 $left = array(); $right = array(); for($i=1;$i<$count;$i++){ key="">=$arr[$i]){ $left[] = $arr[$i]; }else{ $right[] = $arr[$i]; } } $left = mySort($left); $right = mySort($right); $result = array_merge($left,$right); return $result; }?>
五、歸並排序
其實歸並排序是一種拆分,合並的思想。和快速排序思想有共通之處,左邊一堆,右邊一堆,然後進行合並。通過遞歸實現排序。 區別之處呢? 他們的區別也是思想上本質的區別,快速排序的拆分,是選擇了特定的值進行大小比較,從而分為left 和 right 。也就是小的一堆放入left,大的一堆放入right。而後,小的left 再細分為left1 right1。。。。通過進行類似的遞歸完成排序。也就是說,一直細分下去,遞歸最末尾的left1就是最小值。
而歸並排序,是從幾何上的左右切分,一直遞歸切分成2或者1的'最小粒度的數組,然後才開始進行比較大小,然後合並。此處的比較大小是:兒子left的元素 和兒子的right元素 進行比較,而後進行排序合並成為父親left或者right。在此,直到拿到各自排序合並完成最後兩個數組:最起初的left 和right,也僅僅直到他們各自的順序,並不能確認整個數組的順序,還是需要通過最終的left right 比較後合並才能完成真正意義上的排序。
<?phpfunction gbSort($arr){ if(count($arr)<=1){return min="floor(count($arr)/2);//取中間數字進行拆分" left="gbSort($left);" right="gbSort($right);" return="" function="">$right[0] ? array_shift($right) : array_shift($left); //進行比較,小的移除,並且放入到數組$m中。 } return arr_merge($m,$left,$right);//進行合並(由於不知道left right 哪個會為空,所以進行統一合並)}?>
六、堆排序
本例中fixDown函數實現對某一個節點的向下調整,這里默認的是起始節點為1,方便計算父子節點關系
注:
起始節點為1的父子關系: 父節點k, 子節點為2K、2k+1 子節點j, 父節點為 floor(j/2) floor為向下取整
起始節點為0的父子關系: 父節點k, 子節點為2K+1, 2k+2 子節點j, 父節點為 floor((j-1)/2)
參數$k為調整點位置, $lenth為數組長度,也就是從1起始到最後一個節點的坐標.
<?phpfunction fixDown(&$arr, $k, $lenth){while(2*$k<=$lenth) { //只要當前節點有子節點, 就需要繼續該循環 $j = $k*2; if ($j<$lenth && $arr[$j]<$arr[$j+1]) $j++; // 只要子節點有右節點,且右節點比左節點大,那麼切換到右節點操作。 if ($arr[$j] < $arr[$k]) break; // 如果子節點都沒有父節點大, 那麼調整結束。 exch($arr[$j], $arr[$k]); $k = $j; }}function exch(&$a, &$b) { $tmp = $a; $a = $b; $b = $tmp;}function headSort(&$arr){ $len = count($arr); array_unshift($arr, NULL); for($i=$len/2;$i>=1;$i--) { fixDown($arr, $i, $len); } while($len>1) { exch($arr[1], $arr[$len]); fixDown($arr, 1, --$len); } array_shift($arr);}$arr = array(4,6,4,9,2,3);headSort($arr);?>
希望本文所述排序演算法實例對大家的php程序設計有所幫助。
;㈥ php中插入圖片的代碼是什麼
定義和用法
img 元素向網頁中嵌入一幅圖像。
請注意,從技術上講,<img> 標簽並不會在網頁中插入圖像,而是從網頁上鏈接圖像。<img> 標簽創建的是被引用圖像的佔位空間。
在下面的例子中,我們在頁面中插入一幅 W3School 的工程師在上海鮮花港拍攝的鬱金香照片:
<img src="/i/eg_tulip.jpg" alt="上海鮮花港 - 鬱金香" />
㈦ PHP遍歷目錄下的圖片,按順序顯示問題
<?php
error_reporting(0);
echo"<html><head><title>圖片</title></head><bodybgcolor=000000><center><fontsize=2color=red>";//輸出html相關代碼
$page=$_GET['page'];//獲取當前頁數
$max=3;//設置每頁顯示圖片最大張數
$dir="./image/";
$handle=opendir($dir);//當前目錄
while(($file=readdir($handle))!==false){//遍歷該php文件所在目錄
list($filesname,$kzm)=explode(".",$file);//獲取擴展名
if($kzm=="gif"or$kzm=="jpg"or$kzm=="JPG"or$kzm=="png"){//文件過濾
if(!is_dir('./'.$file)){//文件夾過濾
$array[]=$file;//把符合條件的文件名存入數組
$i++;//記錄圖片總張數
}
}
}
for($j=$max*$page;$j<($max*$page+$max)&&$j<$i;++$j){//循環條件控制顯示圖片張數
echo"<imgwidht=200height=200src=image\".$array[$j].">"."<br>";//輸出圖片數組
}
$Previous_page=$page-1;
$next_page=$page+1;
if($Previous_page<0){
echo"上頁";
echo"<ahref=?page=$next_page>下頁</a>";
}elseif($page<=$i/$max){
echo"<ahref=?page=$Previous_page>上頁</a>";
echo"<ahref=?page=$next_page>下頁</a>";
}else{
echo"<ahref=?page=$Previous_page>上頁</a>";
echo"下頁";
}
echo"</center></body></html>";
?>