[0] => "Everybody"
[1] => "freetuts.net"
[2] => "like it"
)
[1] => Array(
[0] => Everybody
[1] => freetuts.net
[2] => like it
)
)
Có thể bạn quan tâm!
- Kết Quả Khi Triệu Gọi Trang Arrayone.php.
- Kết Quả Thực Hiện Trang Mang.php
- Kết Quả Sử Dụng Hàm Tách Chuỗi
- Lập trình mã nguồn mở - 10
- Trừu Tượng Hoá Dữ Liệu Ví Dụ: Xây Dựng Chương Trình Quản Lý Sinh Viên
- Các Đối Tượng Trong Trong Thế Giới Thực
Xem toàn bộ 270 trang tài liệu này.
Lấy kết quả thì có 2 lựa chọn:
Nếu lấy có dấu ngoặc thì chọn phần tử thứ nhất Nếu lấy không có dấu ngoặc thì chọn phần tử thứ 2
Giải thích tại sao lại có 2 phần tử thì như bài trước, phần tử thứ nhất là chuỗi toàn partern, phần tử thứ 2 là kết quả của đoạn regex (.+?)
Ví dụ: Lấy tất cả nội dung bên trong tất cả thẻ div của một file html.
Để lấy tất cả các đoạn text trong tất cả thẻ div thì ta phải dùng đến hàm preg_match_all trong php rồi, đoạn $partern sẽ có dạng $partern = '/<div>(.*?)</div>/'. Lưu ý phải có dấu ?, vì có dấu ? thì máy sẽ hiểu là lấy từng kết quả chứ không phải duyệt hết chuỗi rồi lấy.
$subject = '<div>Div1</div><div>Div2</div><div>Div3</div>'; preg_match_all('/<div>(.*?)</div>/', $subject, $matches);
echo '<pre>'; var_dump($matches); echo '</pre>';
2.6.6. Các hàm xử lý chuỗi hay sử dụng
addcslashes ($str, $char_list)
Hàm này sẽ thêm dấu gạch chéo () đằng trước những ký tự trong chuỗi $str mà ta liệt kê ở $char_list.
Ví dụ:
// a..z là gồm các từ từ a => z
echo (addcslashes('freetuts.net FREETUTS.NET', 'a..z'));
// kết quả: freetuts.net echo '<br />';
// a..zA..Z là gồm các từ từ a => z và A => Z
echo (addcslashes('freetuts.net FREETUTS.NET', 'a..zA..Z'));
addslashes ( $str )
Ví dụ:
Hàm này sẽ thêm dấu gách chéo trước những ký tự („, “, ) trong chuỗi $str.
echo addslashes ("Freetuts's a website learning online");
// Kết quả là Freetuts's a website learning online
stripslashes ($str)
Hàm này ngược với hàm addslashes, nó xóa các ký tự trong chuỗi $str.
Ví dụ:
echo stripslashes("Mot so ham 'xu ly chuoi' trong PHP");
// Kết quả Mot so ham 'xu ly chuoi' trong PHP
crc32 ( $str )
Hàm này sẽ chuyển chuỗi $str thành một dãy số nguyên (có thể âm hoặc dương tùy theo hệ điều hành).
Ví dụ:
echo crc32 ('freetuts.net');
// kết quả: -838644060
explode ( $delimiter , $string)
Hàm này sẽ chuyển một chuỗi $string thành một mảng các phần tử với ký tự tách mảng là $delimiter.
Ví dụ:
// Chuỗi cần chuyển<br />
$str = 'freetuts.net is a website free for you';
// Mỗi khoảng trắng sẽ là một phần tử trong mảng<br /> var_dump(explode(' ', $str));
/*Kết quả array
0 => 'freetuts.net',
1 => 'is',
2 => 'a' ,
3 => 'website',
4 => 'free', 5 => 'for' ,
6 => 'you' */
implode($delimiter, $piecesarray)
Hàm này ngược với hàm explode, nó chuyển một mảng $piecesarray thành chuỗi và mỗi phần tử cách nhau bởi chuỗi $delimiter
Ví dụ:
echo implode(' ', array(
'freetuts', 'xin', 'chào', 'các', 'bạn'
));
// kếquả là freetuts xin chào các bạn
ord ( $string )
Hàm này trả về mã ASCII của ký tự đầu tiên trong chuỗi $string.
Ví dụ:
echo ord ('Ab');
// kết quả: 65
strlen($string)
Hàm này đếm số ký tự của chuỗi $string.
Ví dụ:
echo strlen('freetuts.net');
// kết quả: 12
str_word_count($str)
Hàm này trả về số từ trong chuỗi $str.
Ví dụ:
echo str_word_count('freetuts xin chào các bạn');
// kết quả là 5
str_repeat( $str, int $n )
Hàm này lặp chuỗi $str $n lần.
Ví dụ:
echo str_repeat( 'Hello', 5 );
// Kết quả là HelloHelloHelloHelloHello
str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon )
Hàm này tìm kiếm và thay thế chuỗi.
Ví dụ:
$str = 'Freetuts Xin Chào Các Bạn';
$str = str_replace( 'Freetuts', 'Freetuts.net', $str ); echo $str; // kết quả là Freetuts.net Xin Chào Các Bạn
Để thay thế nhiều chuỗi ta có thể dùng mảng để truyền vào
$str = 'Freetuts Xin Chào Các Bạn';
$str = str_replace( array('Freetuts', 'Xin Chào'), array('Freetuts.net', 'Hello'),
$str );
echo $str; // kết quả là Freetuts.net Hello Các Bạn
md5( $str)
Hàm này mã hóa chuỗi thành một dãy 32 ký tự (mã hóa md5).
Ví dụ:
echo md5('freetuts.net');
// Kết quả: 83617175fd8cf470d4af657a28def98e
sha1($string)
Hàm này mã hóa chuỗi thành một dãy 40 ký tự (mã hóa sha1)
Ví dụ:
echo sha1('freetuts.net');
// kết quả 8d9fa09de2e997d8fbb544326b84d1f894cd3ca3
htmlentities($str)
Hàm này chuyển các thể html trong chuỗi $str sang dạng thực thể của chúng (html sẽ không còn tác dụng nên có thể echo ra bên ngoài).
Ví dụ:
echo htmlentities('<b>freetuts.net</b>');
// Kết quả <b>freetuts.net</b>
html_entity_decode($string)
Ngược lại với htmlentities, hàm này chuyển ngược các ký tự dạng thực thể HTML sang dạng ký tự của chúng.
Ví dụ:
$str = htmlentities('<b>freetuts.net</b>'); echo 'Entity: ' . $str . '<br/>';
echo 'Decode: ' . html_entity_decode($str);
htmlspecialchars( $string)
Tương tự như htmlentities.
htmlspecialchars_decode($string)
Tương tự như html_entity_decode.
strip_tags( $string, $allow_tags )
Hàm này bỏ các thẻ html trong chuỗi $string được khai báo ở $allow_tags.
echo strip_tags('<b>freetuts.net</b>', 'b');
substr( $string, $start, $length )
Hàm này lấy một chuỗi con nằm trong chuỗi $str bắt đầu từ ký tự thứ $start và chiều dài $length.
echo substr( 'freetuts.net', 0, 8);
// Kết quả freetuts
strstr( $string, $ky_tu_cho_truoc )
Tách một chuỗi bắt đầu từ $ky_tu_cho_truoc cho đến hết chuỗi.
echo strstr('freetuts.net Xin Chào', 'Xin');
// Kết quả: Xin Chào
strpos($str, $chuoi_tim )
Tìm vị trí của chuỗi $chuoi_tim trong chuỗi $str, kết quả trả về false nếu không tìm thấy.
echo strpos('freetuts.net chào các bạn', 'chào');
// kết quả 13
strtolower($str);
Chuyển tất cả các ký tự chuỗi $str sang chữ thường
strtoupper($string );
Chuyển tất cả các ký tự chuỗi $str sang chữ hoa
ucfirst( $string )
Chuyển ký tự đầu tiên chuỗi $string sang chữ hoa
ucfirst( $string )
Chuyển ký tự đầu tiên trong chuỗi $string sang chữ thường
ucwords( $string )
Chuyên từ đầu tiên trong chuỗi $string sang chữ hoa
trim($string, $ky_tu)
Xóa ký tự $ky_tu nằm ở đầu và cuối chuỗi $str, nếu ta không nhập $ky_tu thì mặc định nó hiểu là xóa khoảng trắng.
echo trim(' freetuts.net ');
// kết quả: 'freetuts.net' echo trim('freetuts.neth');
// kết quả: 'freetuts.net'
ltrim($string, $ky_tu)
Tương tự như trim nhưng chỉ xóa bên trái
rtrim($string, $ky_tu)
Tương tự như trim nhưng chỉ xóa bên phải
nl2br($string)
Chuyển các ký tự xuống dòng “n” thành thẻ
json_decode($json, $is_array)
Dùng để chuyển chuỗi dạng JSON sang các đối tượng mảng hoặc object. Nếu $is_array có giá trị false thì hàm sẽ chuyển một chuỗi $json thành một Class (object), ngược lại nếu $is_array có giá trị true thì sẽ chuyển chuỗi $json thành một mảng.
json_encode($array_or_object)
Chuyển một mảng hoặc mội đối tượng (classs) sang chuỗi dạng JSON
2.7. Hàm và sử dụng hàm
Hàm do người sử dụng định nghĩa cho phép xử lý những tác vụ thường lặp đi lặp lại trong ứng dụng.
Để khai báo hàm, sử dụng từ khoá function với cú pháp tương tự như sau:
function functioname($parameter)
{
return value;
}
Trong trường hợp hàm không có giá trị trả về thì hàm được xem như thủ tục. Ngoài ra, có thể khai báo tham số tuỳ chọn bằng cách gán giá trị mặc định cho tham số. Ví dụ ta khai báo:
function functioname($parameter1, $parameter2=10 )
{
return value;
}
Đối với trường hợp này thì tham số $parameter1 là tham số bắt buộc và tham số
$parameter2 là tham số tuỳ chọn, khi gọi hàm nếu không cung cấp tham số cho
$parameter2 thì tham số này có giá trị là 10.
Ví dụ:Tạo trang function.php có hàm getResult nhận hai số và phép toán sau đó tuỳ thuộc vào phép toán hàm trả về kết quả. Nếu người sử dụng không cung vấp phép toán thì mặc định là phép toán +
<HTML>
<HEAD>
<TITLE>::Welcome to PHP</TITLE>
</HEAD>
<BODY>
<h4>Function</h4>
<?php
function getResult($number1, $number2,$operator="+") {
$result=0; switch($operator) { case "+":
$result=$number1+$number2; break;
case "-":
$result=$number1-$number2; break;
case "*":
$result=$number1*$number2; break;
case "/": if($number2!=0)
$result=$number1/$number2; else
$result=0; break; case "%":
if($number2!=0)
$result=$number1%$number2; else
$result=0; break;
}
return $result;
}
echo "result of default operator: ".getResult(10,20); echo "<br>";
echo "result of * operator: ".getResult(10,20,"*");
?>
</BODY>
</HTML>
Nếu muốn định nghĩa function không có giá trị trả về, có thể khai báo trong trang void.php như ví dụ sau:
Ví dụ:
...
function calloperator() {
echo "result of default operator: ".getResult(10,20); echo "<br>";
echo "result of * operator: ".getResult(10,20,"*");
}
calloperator();
?>
</BODY>
</HTML>
Trong trường hợp truyền tham số như tham biến, sử dụng ký hiệu & trước tham số, chẳng hạn ta khai báo hàm có tham biến có tên average như trong trang reference.php như sau:
Ví dụ:
<HTML>
<HEAD>
<TITLE>::Welcome to PHP</TITLE>
</HEAD>
<BODY>
<h4>Function</h4>
<?php
function getAmount($quantity, $price,&$average) {
$result=0;
$result=$quantity*$price;
$average=$result*6/12; return $result;
}
$bq=0;
echo "result is : ".getAmount(10,20,$bq); echo "<br>";
echo "result of Average is : ".$bq; echo "<br>"; function getAmounts($quantity, $price,$average) {
$result=0;
$result=$quantity*$price;
$average=$result*6/12; return $result;
}
$bq=0;
echo "result is : ".getAmounts(10,20,$bq); echo "<br>";
echo "result of Average is : ".$bq;
?>
</BODY>
</HTML>
Trong trường hợp trên thì hàm getAmount có tham số $average là tham biến còn hàm getAmounts có tham số $average là tham trị, và kết quả trả về của biến $bq khi gọi hàm getAmount là 100 trong khi đó giá trị của biến này trong hàm getAmounts là 0.
2.8. Sử dụng include và Require
Include và Require là hai hàm PHP chuyên dùng để gọi một file khác. Mục đích của việc gọi file php khác là để tận dụng lại code trong file php được gọi đó.