array_search()定義和用法 array_search() 函數與 in_array() 一樣,在數組中尋找一個索引值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。 在 PHP 4.2.0 之前,函數在失敗時返回 null 而不是 false。 如果第三個參數 strict 被指定為 true,則只有在資料類型和值都一致時才返回相應元素的鍵名。 文法 array_search(value,array,strict)參數 描述 value
array_splice定義和用法array_splice() 函數與 array_slice() 函數類似,選擇數組中的一系列元素,但不返回,而是刪除它們並用其它值代替。 如果提供了第四個參數,則之前選中的那些元素將被第四個參數指定的數組取代。 最後產生的數組將會返回。 文法 array_splice(array,offset,length,array)參數 描述 array 必需。規定數組。 offset 必需。數值。如果 offset 為正,則從輸入數組中該值指定的位移量開始移除。如果
2010-12-15.txt的檔案內容如下: 複製代碼 代碼如下:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14 T15 T16
PHP內建函數 array_multisort 要求每個數組大小一樣 $areas是地區的二維數組,包含人數和次數,現在要按這2種數進行降序排序 複製代碼 代碼如下:foreach($areaArray as &$areas) { $times = $numbers = array(); foreach($areas as $province => $v) { $times[$province] = $v['times']; $numbers[$province] = $v['numbers']
原因 php指令碼部分源碼: 複製代碼 代碼如下:$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); if($fp){ fwrite($fp, $out); fclose($fp); php指令碼中的 fsockopen 函數,對外部地址,通過UDP發送大量的資料包,攻擊對方。 應對 可通過 php.ini ,禁用 fsockopen 函數,及使用Windows 2003的 安全性原則 屏蔽原生UDP連接埠。 禁用函數 尋找到
array_combine() 定義和用法 array_combine() 函數通過合并兩個數組來建立一個新數組,其中的一個數組是鍵名,另一個數組的值為索引值。 如果其中一個數組為空白,或者兩個數組的元素個數不同,則該函數返回 false。 文法 array_combine(array1,array2) 參數 描述 array1 必需。規定鍵名。 array2 必需。規定值。 提示和注釋 注釋:兩個參數必須有相同數目的元素。 例子 複製代碼 代碼如下:$a1=array("a","b","c",
複製代碼 代碼如下:class SessionToDB { private $_path = null; private $_name = null; private $_pdo = null; private $_ip = null; private $_maxLifeTime = 0; public function __construct(PDO $pdo) { session_set_save_handler( array(&$this, 'open'), array(&$this, '
複製代碼 代碼如下://date:2011-08-05 class RunTime//頁面執行時間類 { private $starttime;//頁面開始執行時間 private $stoptime;//頁面結束執行時間 private $spendtime;//頁面執行花費時間 function getmicrotime()//擷取返回當前微秒數的浮點數 { list($usec,$sec)=explode(" ",microtime()); return ((float)$usec + (
原理如下,假如: 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 1010,解密之需和密匙異或下就可以了 解密 密文:0100 1010 密匙:1110 0011 明文:1010 1001 並沒有什麼高深的演算法,密匙重要性很高,所以,關鍵在於怎麼產生密匙。 那我們一起看下康盛的authcode怎麼做的吧 複製代碼 代碼如下:// 參數解釋 // $string: 明文 或 密文 //
ShopCar.php 複製代碼 代碼如下:class Shopcar { //商品列表 public $productList=array(); /** * * @param unknown_type $product 傳進來的商品 * @return true 購物車裡面沒有該商品 */ public function checkProduct($product) { for($i=0;$iproductList);$i++ ) {
弄了一下午,偶然想起linux是識別檔案大小寫的,查看了一下代碼,發現執行個體化類的時候並沒有注意檔案大小寫。如 $dao = D("inventoryview") 對應的視圖檔案是InventoryViewModel.class.php。這樣在windows下跑是沒問題的,但是在linux下,需要寫成$dao = D("InventoryView")。 哎,小細節容易導致大問題啊。還好解決了~~嘿嘿
複製代碼 代碼如下://a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range('a','d'); //1 for($i=0;$iecho $arr[$i].', '; echo ''; //2 foreach($arr as $key) echo "$key, "; echo ''; //3 foreach($arr as $key=>$val) echo "$key-$val, "; echo ''; //4 reset($
之前寫了一篇關於數組去重的文章,但是僅限於一維數組。下面的函數可以用於二維數組: 複製代碼 代碼如下://二維數組去掉重複值 function array_unique_fb($array2D) { foreach ($array2D as $v) { $v = join(",",$v); //降維,也可以用implode,將一維數群組轉換為用逗號串連的字串 $temp[] = $v; } $temp = array_unique($temp); //去掉重複的字串,也就是重複的一維數組
先上原始碼,你可以copy到自己的電腦上去運行~ 複製代碼 代碼如下: //上傳檔案資訊 $img = $_FILES['img']; if ($img) { //檔案存放目錄,和本php檔案同級 $dir = dirname(__file__); $i = 0; foreach ($img['tmp_name'] as $value) { $filename = $img['name'][$i]; if ($value) {
一、 基礎知識 本章簡要介紹一些Zend引擎的內部機制,這些知識和Extensions密切相關,同時也可以協助我們寫出更加高效的PHP代碼。 1.1 PHP變數的儲存 1.1.1 zval結構 Zend使用zval結構來儲存PHP變數的值,該結構如下所示: 複製代碼 代碼如下:typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct {
看PHP手冊的時候發現了下面這樣一段代碼: 複製代碼 代碼如下:function Test() { static $count = 0; $count++; echo $count; if ($count Test(); } $count--; } ?> 執行結果如下: 這是一個遞迴的函數,聲明的靜態變數count記錄次數,輸出1~10。 我在看的時候有個疑惑,遞迴調用的時候 static $count = 0;
複製代碼 代碼如下:session_start(); Header("Content-type: image/gif"); class SecurityCode { private $codes = ''; function __construct() { $code = '0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z'; $codeArray = explode('-',$code);
方法 bindParam() 和 bindValue() 非常相似。 唯一的區別就是前者使用一個PHP變數綁定參數,而後者使用一個值。 所以使用bindParam是第二個參數只能用變數名,而不能用變數值,而bindValue至可以使用具體值。 複製代碼 代碼如下:$stm = $pdo->prepare("select * from users where user = :user"); $user = "jack"; //正確 $stm->bindParam(":user",$user); /
複製代碼 代碼如下:/*函數array_pop():將數組最後一個單元彈出(出棧) * 1、文法:mixed array_pop ( array &array ) * 2、描述: 彈出並返回 array 數組的最後一個單元,並將數組 array 的長度減一。如果 array 為空白(或者不是數組)將返回 NULL。 * 3、注意事項: * 3.1、 */ echo "*****************************************************************
require '../inc/conn.php'; ?> //初始參數設定 $pagesize=5 ; //分頁大小 $pagenum=1 ; //預設為第一頁 //第一步:擷取當前是第幾頁 if($_GET){ if($_GET['pagenum']){ $pagenum=$_GET['pagenum']; } } //第二步:擷取當前分頁的內容列表 $sql="Select * From message limit ".($pagenum-1)*$pagesize.",$pagesize