袁斐
在PHP中,=>操作符通常用于數(shù)組操作中,一般形式如下: array( key => value , ... ) 鍵(key) 可以是一個(gè)整數(shù)(integer) 或 字符串(string), 值(value) 可以是任意類型的值。如: $arr = array("foo" => "bar", 12 => true); =================================== -> 操作符用于類、對(duì)象的操作中,以下是示例:<?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?>
巧意逢真
,|這三個(gè)運(yùn)算符不是同一種運(yùn)算符,&和^屬于位運(yùn)算符,||屬于邏輯運(yùn)算符,|屬于位運(yùn)算符,&即按位與 ,把$a和$b中都為1的位設(shè)為1,否則為0,用于二進(jìn)制的位運(yùn)算。邏輯運(yùn)算符||,同為假才是假,否則為真。^相同則為0,不同則為1,同樣用于二進(jìn)制的位運(yùn)算
王子服
主要原因是這四個(gè)操作符沒有side effect,因此,它們必須構(gòu)造一個(gè)對(duì)象作為返回值,引用總結(jié)
于潛琉璃
說錯(cuò)了, && 和 and, || 和 or 是分別相同的,只是 and 和 or 運(yùn)算優(yōu)先級(jí)低,比 = 還低。
// 以下兩行完全一樣$a = ($b && $c);$a = ($b and $c); // 以下兩行不一樣了$a = $b && $c;$a = $b and $c;// 實(shí)際上相當(dāng)于這樣:$a = ($b && $c);($a = $b) and $c;// or 同理
在看看你的題意:
&& 相當(dāng)于 if(a)b; 而 || 相當(dāng)于 if(!a)b;
也就是說 && 要 a 為真才執(zhí)行,而 || 是要 a 為假才執(zhí)行。
如果用 and 和 or,就要注意,賦值 = 的時(shí)候 想要的到底是什么樣的值
劉王貴
給這個(gè)方法傳遞變量的引用,類似c中的指針一樣,傳遞的時(shí)變量的內(nèi)存地址。
這樣,next方法內(nèi)部就會(huì)直接操作傳遞過去的array變量。
不帶引用,就相當(dāng)于給了一份拷貝,原本的值是不變的。
for example:
1、function next(array &$array){ //各種操作}$arr = array(1,2,3);next($arr);//這里不需要加&符號(hào)var_dump($arr);//這時(shí)$arr已經(jīng)被next()處理改變了2、/*如果是不帶引用的方法*/function next(array $array){ //各種操作 return $array;//注意這里有返回值}$arr = array(1,2,3);$arr2 = array();$arr2 = next($arr);//next方法有返回值,并賦給了$arr2,并且$arr沒有變化var_dump($arr);var_dump($arr2);
王濬
1、第一種是在HTML中加PHP。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<title>Hello World</title>
</head>
<body>
<?php
echo "Hello world!這是正文";
?>
</body>
</html>
2、第二種用echo輸出HTML。因?yàn)镠TML有的元素中有雙引號(hào),所以用echo輸出的內(nèi)容用單引號(hào)括起來,避免出錯(cuò),也省了轉(zhuǎn)義這一步。比如這樣的代碼:
<?php
if(!$_POST){
echo ‘<form action="" method="post">
服務(wù)器地址:<input type="text" name="host" value="localhost" /><br />
數(shù)據(jù)庫(kù)賬號(hào):<input type="text" name="user" value="" /><br />
數(shù)據(jù)庫(kù)密碼:<input type="password" name="pwd" value="" /><br />
指定數(shù)據(jù)庫(kù):<input type="text" name="db" value="test" /><br />
<input type="submit" value="確定"/>
</form>‘;
}
?>
3、第三種就是用(<<<)標(biāo)記符了,這是在PHP168的模板代碼中首次見到的。
<?php
print <<<EOT
<div class="slidecont">{$label[deepblue_mainslide]}</div>
<div class="newcontainter">
<div class="head">{$label[deepblue_mainh1]}</div>
<div class="cont" id="Tab1">{$label[deepblue_maint1]}</div>
<div class="cont" id="Tab2">{$label[deepblue_maint2]}</div>
</div>
<a href="$rs[url]" title="$rs[descrip]" target="_blank">$rs[name]</a>
EOT;
?>
侯曾
不管你的變量是什么類型的 在按位與、或、異或這些操作中都統(tǒng)一轉(zhuǎn)換為2進(jìn)制
是啊,所以定義的時(shí)候只能定義1、2、4、8等2的N次冪的數(shù)才能確保轉(zhuǎn)換成二進(jìn)制的時(shí)候只有一個(gè)1,其他都是0,我的意思是有沒有像定義八進(jìn)制(前面加0)或十六進(jìn)制(前面加x0)那樣定義的時(shí)候就定義二進(jìn)制呢?
沒有,不過可用bindec函數(shù)來轉(zhuǎn)換。比如這樣$a = bindec(‘11111’);$b = bindec(’10100‘);這樣。注意單引號(hào)
華凌
<? ?>是短標(biāo)簽<?php ?>是長(zhǎng)標(biāo)簽在php的配置文件(php.ini)中有一個(gè)short_open_tag的值,開啟以后可以使用PHP的短標(biāo)簽:<? ?>同時(shí),只有開啟這個(gè)才可以使用 <?= 以代替 <? echo 。在CodeIgniter的視頻教程中就是用的這種方式。但是這個(gè)短標(biāo)簽是不推薦的,使用<?php ?>才是規(guī)范的方法。只是因?yàn)檫@種短標(biāo)簽使用的時(shí)間比較長(zhǎng),這種特性才被保存了下來。
趙光斗
在類里面的時(shí)候,$this->func()和self::func()沒什么區(qū)別。在外部的時(shí)候,->必須是實(shí)例化后的對(duì)象使用; 而::可以是未實(shí)例化的類名直接調(diào)用。舉個(gè)例子:class Mytest{ function ccc($str){ echo $str; }}Mytest::ccc("123456");$object = new Mytest();$object->ccc("123456");
是不是說實(shí)例化的類不能使用::?而未實(shí)例的類可不可以使用->呢?
你用我的例子,分別試一下Mytest->ccc("->")和$object::ccc("::")就知道答案了。(都會(huì)報(bào)錯(cuò))謝謝~剛剛我也在http://www.php.net/manual/zh/language.oop5.static.php里看到明確的說明了: 靜態(tài)屬性不可以由對(duì)象通過->操作符來訪問。 用::方式調(diào)用一個(gè)非靜態(tài)方法會(huì)導(dǎo)致一個(gè)E_STRICT級(jí)別的錯(cuò)誤。