学习php技巧,对初学者非常有用的PHP技巧
對初學者非常有用的PHP技巧
13
14
15
16
17
18
function add_to_cart($item_id , $qty)
{
if(!is_array($item_id))
{
$_SESSION['cart'][$item_id] = $qty;
}
else
{
foreach($item_id as $i_id => $qty)
{
$_SESSION['cart'][$i_id] = $qty;
}
}
}
add_to_cart( 'IPHONE3' , 2 );
add_to_cart( array('IPHONE3' => 2 , 'IPAD' => 5) );
好了,現在同樣的函數就可以接受不同類型的輸出了。以上代碼可以應用到很多地方讓你的代碼更加靈活。
6.省略結束的php標簽,如果它是腳本中的最后一行
我不知道為什么很多博客文章在談論php小技巧時要省略這個技巧。
?
1
2
3
4
5
echo "Hello";
//Now dont close this tag
這可以幫助你省略大量問題。舉一個例子:
類文件super_class.php
?
1
2
3
4
5
6
7
8
9
10
class super_class
{
function super_function()
{
//super code
}
}
?>
//super extra character after the closing tag
現在看index.php
?
1
2
3
require_once('super_class.php');
//echo an image or pdf , or set the cookies or session data
你會得到發送錯誤的Header。為什么呢?因為“超級多余字符”,所有標題都去處理這個去了。于是你得開始調試。你可能需要浪費很多時間來尋找超級額外的空間。
因此要養成省略結束標簽的習慣:
?
1
2
3
4
5
6
7
8
9
10
class super_class
{
function super_function()
{
//super code
}
}
//No closing tag
這樣更好。
7.在一個地方收集所有輸出,然后一次性輸出給瀏覽器
這就是所謂的輸出緩沖。比方說,你從不同的函數得到像這樣的內容:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function print_header()
{
echo "
Site Log and Login links
";}
function print_footer()
{
echo "
";}
print_header();
for($i = 0 ; $i < 100; $i++)
{
echo "I is : $i
';
}
print_footer();
其實你應該先在一個地方收集所有輸出。你可以要么將它存儲于函數中的變量內部,要么使用ob_start和ob_end_clean。所以,現在應該看起來像這樣
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function print_header()
{
$o = "
Site Log and Login links
";return $o;
}
function print_footer()
{
$o = "
Site was made by me
";return $o;
}
echo print_header();
for($i = 0 ; $i < 100; $i++)
{
總結
以上是生活随笔為你收集整理的学习php技巧,对初学者非常有用的PHP技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iexplore32.exe进程能删除吗
- 下一篇: 动态规划算法php,php算法学习之动态