php與操作
⑴ php可以對硬體操作嗎
完全可以的,php可以操作串口rs232的。
例子如下:
<?php
// --------------------------------------------------------------------------
// File name : RS232_Server.php
// Description : RS232演示上位機程序
// Requirement : PHP 5.1.4 (cli) (http://www.php.net)
//
// Copyright(C), HonestQiao, 2006, All Rights Reserved.
//
// Author: HonestQiao ([email protected]/QQ:5601680)
//
// 程序簡介:
// 本程序與RS232_Client構成一個完整的演示系統,展示了PHP在RS232串口通訊上的應用。
// 程序之中實現了一個基礎但是完整的RS232通訊協議(HQB232),通訊協議格式如下:
// 協議內容:
// C->S 01 //請求通訊
// S->C 02 //響應通訊
// C->S LEN DATA //LEN表示數據(DATA)長度 DATA表示實際數據
// C->S 03 //結束通訊
// 說明:S表示上位機 C表示下位機
// HQB232表示HonestQiao演示的基礎(Base)RS232通訊協議,包含了協議的
// 請求和響應,數據幀的結構。
// 演示過程為通訊的請求和響應,十次數據幀的發送, 通訊的結束
// 數據幀的結構為當前的序號,microtime(),隨機字元串
//
// 歡迎探討PHP在RS232串口通訊上的應用。
// --------------------------------------------------------------------------
set_time_limit(0);
exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on');
$fd = dio_open('COM1:', O_RDWR);
if(!$fd)
{
die("Error when open COM1");
}
$ff = dio_stat($fd);print_r($ff);
echo "HQB232 SERVER is listenning on COM1\n";
/// read
$len = 2;
$t=0;while (($t++)<1000)
{
$data = dio_read($fd, $len);
if ($data) {
if($data==chr(0).chr(1)){
echo "S_RECV:01\n";
echo "S_SEND:02\n";
dio_write($fd,chr(0).chr(2));
break;
}
}
}
/// read
$len = 2;
$t=0;while (($t++)<1000)
{
$len = 2;
$data = dio_read($fd, $len);
if($data==chr(0).chr(3)){
echo "S_RECV:03\n";
break;
}
elseif ($data) {
$len = intval($data);
$data = dio_read($fd, $len);
if($data){
echo "S_RECV:($len)$data\n";
}
}
}
dio_close($fd);
?>
⑵ 資料庫和文件,php操作哪一種會快的
怎麼說呢,資料庫是專業的,數據量特別大時優勢就體現出來了,如果就是一點點數據,你自己搞搜索代碼,和用資料庫速度沒啥區別,但是一旦數據量暴增,請相信資料庫引擎的力量吧,畢竟整個世界也沒幾個公司能開發數據引擎
⑶ php中&&與&有什麼區別
PHP中&&與&的區別:
1、運算符性質的區別
&&在PHP中是一個邏輯操作符,也叫條件操作符。
&是邏輯語言,邏輯上表示兩者屬於缺一不可的關系,還可以表示一個人和另外一個人之意,與and同義。如A&B,表示A與B,A和B,A×B。
2、作用上的區別
&&就是判斷兩個表達式的真假性,只有兩個表達式同時為真才為真,有一個為假則為假,具有短路性質。
&是將兩個二進制的數逐位相與,結果是相與之後的結果。
3、用途上的區別
&&:x&&y——功能描述: 「條件與」:x和y均為true,取值是true,否則取值是false。&&需要兩個操作數的值都是true時,才取值true,但是兩個操作符還是有區別的:使用方法是int&& rx=x。
&:是一個位運算符。參加運算的兩個數的二進制形式,每一個二進制位進行」與「運算,最後的結果二進製作為結果,例如:3 & 5=1,因為3和5的二進制分別是0011、0101,兩個進行與運算的結果是0001。
⑷ php如何用操作符 -> 連續訪問多個方法
這個很簡單,但前提是這種方法只能應用於類對象。
下面給你寫個簡單的例子:
<?php
//首先來寫個簡單的類
classa{
privateb=0;
publicfunctionc($Num=0){
$this->b=$Num;
return$this;//關鍵就在這里,有這條就可以連續調用了,原理下面再解釋
}
publicfunctiond(){
echo$this->b;
}
}
//接下來是調用
$Obj=newa;
$Obj->c(500)->d();
//調用運行後,頁面會輸出500
原理解釋:
在php中, return關鍵詞通常會用於給函數方法返回值並終止該函數方法的運行
比如一個方法a, 如果return 1 那麼這個函數最後的返回值就是1,
而類對象中,$this表示當前對象, 那麼return $this 等於就是給函數返回了類當前對象,而這個函數的最後結果也成了一個對象, 那對象,自然就能使用 -> 調用該對象中的成員了!
⑸ php中的&操作符和c語言&操作符有什麼區別
$a=&$b // *a=*(*b)
$a取的地址就是b內存指向數值的地址,所以$b發生變化,也就是b指向數值的內存地址發生了變化。
我認為樓主理解的沒有錯,C中指針型變數存儲的是指向對象的地址,而非本身地址
⑹ php中&&和||的用法 這樣用什麼意思
a && b === if(a) { b },&&是同時必須滿足的意思。a || b === if(!a) { b },||是或者的意思。
$ckfid&&$rs=$db->get_one("SELECT * FROM $table WHERE fid='$ckfid'");
其實這句話相當於只有當$ckfid不為空的時候才執行後面的也就是約等於。
if($ckfid) {
$rs=$db->get_one("SELECT * FROM $table WHERE fid='$ckfid'");}
而底下的||,則相當於$rs[name]為空的時候才執行,因為當$rs[name]不為空的時候,這個條件已經滿足了,後邊也不用再做任何判斷了。只有不滿足的時候,才去做後面的操作。
(6)php與操作擴展閱讀:
PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支持幾乎所有流行的資料庫以及操作系統。
4. 最重要的是PHP可以用C、C++進行程序的擴展!
PHP版本VC6與VC9、Thread Safe與None-Thread Safe等的區別。PHP的大版本主要分三支:PHP4/PHP5/PHP6,其中,PHP4由於太古老、對QQ支持不力已基本被淘汰,請無視PHP4。
PHP6由於基本沒有生產線上的應用,還基本只是一款概念產品,很多功能已在PHP5.3.3上實現,所以也不詳述,請無視PHP6。PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前發布的PHP5.4。
選擇版本,PHP5.2之前的版本不值得考慮,因為某些功能缺陷或者BUG。PHP5.4還處於Beta試用的版本號,非穩定版本,請無視PHP5.4。
主流PHP程序對PHP5.2.X的兼容性最好,而每次版本號的升級帶來的都是安全性和穩定性的改善,所以宜挑選最新的版本。目前PHP5.2系列最新的是PHP5.2.17。
⑺ php中.=和*=操作方式是否類似
.=通俗的說,就是累積。
比如:
$a = 'a'; //賦值
$b = 'b'; //賦值
$c = 'c'; //賦值
$c .= $a;
$c .= $b;
echo $c; 就會顯示 cab
+=意思是左邊的變數的值加上右邊的變數的值再賦給左邊的變數。
沒有*=
⑻ php中的::操作符是什麼意思
這個是作用域限定操作符,是用一個雙冒號"::"表示,它用來置頂類中不同作用域的級別。左邊是作用域右邊是訪問作用域的成員。
在php中定義的作用域有self和parent兩種(在php6中提供了static作用域)。
self:表示當前類的作用域,與this不同的是它不表示類的某個特定實例,在類之外的代碼中不能使用self,而且它不能識別自己在繼承中層次的位置。也就是說,當在擴展類中使用self時,它調用的不是父類的方法,而是擴展類的重載的方法。
parent:表示當前類父類的作用域,其餘的跟self特性一樣。
⑼ php並發操作文件
是可以的 php不是有一個鎖定機制嗎?當一個用戶操作的時候 其他用戶可以讀而不可寫入
⑽ php怎麼用
推薦閱讀:騰訊T3-T4標准精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個台階(持續更新)點擊此處