PHP tự w3schools

big thanx 2 Mardy dot Hutchinson at gmail dot com
very good!

some fixes to correct result displaying:
1. we need to trim $matches [1], 'cause there can be empty lines;
2. not bad to remove tag 'cause styles for it not apply correctly...
3. ...and change styles a little (remove "body" selector)

we need to change two lines:

preg_match ('%.*?(.*)%s', ob_get_clean(), $matches);
?>
to
preg_match ('%.*?(.*?)%s', ob_get_clean(), $matches);
?>

and

preg_split( '/\n/', $matches[1] )
?>
to
preg_split( '/\n/', trim(preg_replace( "/\nbody/", "\n", $matches[1])) )
?>

That's all! Now we have a really flexible addition to phpinfo();

A lot of people in other comments wanting to get the classname without the namespace. Some weird suggestions of code to do that - not what I would've written! So wanted to add my own way.

function get_class_name($classname)
{
    if ($pos = strrpos($classname, '\\')) return substr($classname, $pos + 1);
    return $pos;
}
?>

Also did some quick benchmarking, and strrpos() was the fastest too. Micro-optimisations = macro optimisations!

39.0954 ms - preg_match()
28.6305 ms - explode() + end()
20.3314 ms - strrpos()

(For reference, here's the debug code used. c() is a benchmarking function that runs each closure run 10,000 times.)

c(
    function($class = 'a\b\C') {
        if (preg_match('/\\\\([\w]+)$/', $class, $matches)) return $matches[1];
        return $class;
    },
    function($class = 'a\b\C') {
        $bits = explode('\\', $class);
        return end($bits);
    },
    function($class = 'a\b\C') {
        if ($pos = strrpos($class, '\\')) return substr($class, $pos + 1);
        return $pos;
    }
);
?>

Các trường hợp If-else và Switch được sử dụng để đánh giá các điều kiện và quyết định luồng chương trình. Toán tử bậc ba là toán tử tắt dùng để rút gọn câu lệnh điều kiện

toán tử bậc ba. Toán tử bậc ba (?. ) là toán tử điều kiện được sử dụng để thực hiện so sánh đơn giản hoặc kiểm tra một điều kiện có câu lệnh đơn giản. Nó làm giảm độ dài của mã thực hiện các hoạt động có điều kiện. Thứ tự thao tác của toán tử này là từ trái sang phải. Nó được gọi là toán tử bậc ba vì nó có ba toán hạng - một điều kiện, một câu lệnh kết quả cho giá trị đúng và một câu lệnh kết quả cho giá trị sai. Cú pháp của toán tử bậc ba như sau.  

cú pháp

(Condition) ? (Statement1) : (Statement2);
  • Tình trạng. Đó là biểu thức được đánh giá và trả về giá trị boolean
  • Tuyên bố 1. Đó là câu lệnh sẽ được thực hiện nếu điều kiện dẫn đến trạng thái đúng
  • Tuyên bố 2. Đó là câu lệnh sẽ được thực hiện nếu điều kiện dẫn đến trạng thái sai

Kết quả của phép so sánh này cũng có thể được gán cho một biến bằng cách sử dụng toán tử gán. Cú pháp như sau.   

Variable = (Condition) ? (Statement1) : (Statement2);

Nếu câu lệnh được thực thi tùy thuộc vào điều kiện trả về giá trị nào thì nó sẽ được gán cho biến

Ưu điểm của toán tử ternary. Sau đây là một số ưu điểm của toán tử bậc ba

  • Việc sử dụng toán tử bậc ba sẽ làm cho mã ngắn hơn so với câu lệnh IF ELSE
  • Đoạn mã có thể dài hơn so với câu lệnh IF ELSE
  • Khả năng đọc mã sẽ tăng lên khi sử dụng các câu điều kiện
  • Việc sử dụng toán tử bậc ba làm cho mã đơn giản hơn

ví dụ 1. Trong ví dụ này, nếu giá trị của $a lớn hơn 15, thì 20 sẽ được trả lại và sẽ được gán cho $b, ngược lại 5 sẽ được trả lại và được gán cho $b

php




  $a = 10;

  $b

Variable = (Condition) ? (Statement1) : (Statement2);
0$a
Variable = (Condition) ? (Statement1) : (Statement2);
2

  

Variable = (Condition) ? (Statement1) : (Statement2);
4
Variable = (Condition) ? (Statement1) : (Statement2);
5
Variable = (Condition) ? (Statement1) : (Statement2);
6
Variable = (Condition) ? (Statement1) : (Statement2);
7$b
Variable = (Condition) ? (Statement1) : (Statement2);
9

Value of b is 5
0

đầu ra.  

Value of b is 5

ví dụ 2. Trong ví dụ này, nếu giá trị của $age lớn hơn hoặc bằng 18, thì “Người lớn” được chuyển cho hàm in và được in, nếu không thì “Không phải Người lớn” được chuyển và in

php




  

Value of b is 5
3
Value of b is 5
4

  

Variable = (Condition) ? (Statement1) : (Statement2);
4
Variable = (Condition) ? (Statement1) : (Statement2);
5
Value of b is 5
3
Value of b is 5
9
Adult
0
Adult
1
Adult
2
Adult
3

Value of b is 5
0

đầu ra.  

Adult

Khi chúng ta sử dụng toán tử ternary. Chúng ta sử dụng toán tử bậc ba khi chúng ta cần đơn giản hóa các câu lệnh if-else chỉ đơn giản là gán giá trị cho các biến tùy thuộc vào một điều kiện. Một lợi thế của việc sử dụng toán tử bậc ba là nó giảm khối if-else khổng lồ thành một dòng duy nhất, cải thiện khả năng đọc mã và đơn giản hóa nó. Rất hữu ích khi gán biến sau khi gửi biểu mẫu.  

Ví dụ.  

Mã gốc.  

php




Adult
6_______17_______7
Adult
8
Adult
901

2_______63_______3

Variable = (Condition) ? (Statement1) : (Statement2);
0
Adult
8_______17_______908

9

2_______63_______3   2

 

Adult
6_______17_______7
Adult
8
Adult
9  71

2_______9_______3

Variable = (Condition) ? (Statement1) : (Statement2);
0
Adult
8_______17_______9  78

9

2_______9_______3   2

Value of b is 5
0

Giảm xuống như sau. Do đó, toán tử bậc ba đã giảm thành công khối if-else thành một dòng duy nhất, do đó phục vụ mục đích của nó.  

php




3 = 10;3

Adult
8
Adult
90= 10;7
Adult
8
Adult
90  1

Value of b is 5
3 = 10;3
Adult
8
Adult
9  7= 10;7
Adult
8
Adult
9  7  1

Value of b is 5
0

PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo Hướng dẫn PHP và Ví dụ về PHP này

Bản thân PHP trong PHP là gì?

self được được sử dụng để truy cập các biến hoặc phương thức tĩnh hoặc lớp hoặc phương thức và điều này được sử dụng để truy cập các biến hoặc phương thức không tĩnh hoặc đối tượng. Vì vậy, hãy sử dụng self khi có nhu cầu truy cập thứ gì đó thuộc về một lớp và sử dụng $this khi có nhu cầu truy cập thuộc tính thuộc đối tượng của lớp.

$_ MÁY CHỦ [' PHP_SELF '] là gì?

$_SERVER['PHP_SELF'] Trả về tên tệp của tập lệnh hiện đang thực thi .

Làm cách nào để tạo biểu mẫu PHP tự gửi?

Cách thích hợp là sử dụng $_SERVER["PHP_SELF"] (kết hợp với htmlspecialchars để tránh khả năng khai thác). Bạn cũng có thể bỏ qua phần hành động = trống, phần này không hợp lệ với W3C, nhưng hiện đang hoạt động trong hầu hết (tất cả?) Trình duyệt - mặc định là tự gửi nếu nó trống.

$_ GET và $_ POST là gì?

$_GET là một mảng các biến được truyền tới tập lệnh hiện tại thông qua các tham số URL. $_POST là một mảng các biến được truyền tới tập lệnh hiện tại thông qua phương thức HTTP POST .