extract là gì

Rate this post

Hàm extract() nhập PHP được dùng nhằm nhập những thay đổi từ là một mảng nhập vào bảng hình tượng lúc này (current symbol table). Nó nhận một mảng array và coi những key như thể những thương hiệu thay đổi và những value là những độ quý hiếm thay đổi. Với từng cặp key/value nó sẽ bị tạo ra một thay đổi nhập bảng ký tự động lúc này, theo gót những thông số extract_type và prefix.

Bạn đang xem: extract là gì

Hàm này được dùng bên trên PHP4, PHP5 và PHP7.

Cú pháp

Cú pháp hàm extract() trong PHP như sau:

extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] ) : int

Tham số truyền vào 

  • $array là mảng được truyền nhập.
  • $flags là những tùy lựa chọn tương ứng
    • EXTR_OVERWRITE ghi đè những giá chỉ trị
    • EXTR_SKIP ko ghi đè những giá chỉ trị
    • EXTR_PREFIX_SAME nếu như tồn bên trên, thì sẽ tạo nên thay đổi dựa vào chi phí tố $prefix
    • EXTR_PREFIX_ALL tăng chi phí tố $prefix nhập toàn bộ
    • EXTR_PREFIX_INVALID chỉ chi phí tố không khớp lệ/ thương hiệu thay đổi số với $prefix
    • EXTR_IF_EXISTS chỉ ghi đè nếu như thay đổi này đã tồn tại
    • EXTR_PREFIX_IF_EXISTS chỉ tạo ra thay đổi sở hữu chi phí tố $prefix nếu như có không ít thay đổi nằm trong thương hiệu nhập mảng
  • $prefix chi phí tố Lúc xuất hiện tại sự trùng lặp thay đổi.

Giá trị trả về

Hàm extract() sẽ trả về con số thay đổi theo gót KEY nhập mảng va vấp $prefix đươc nhập thành công xuất sắc.

Ví dụ minh họa

<?php $size = "large"; $var_array = array("color" => "blue",                    "size"  => "medium",                    "shape" => "sphere"); extract($var_array, EXTR_PREFIX_SAME, "wddx"); echo "$color, $size, $shape, $wddx_size\n"; ?>

Kết ngược trả về tiếp tục là

blue, large, sphere, medium

Tùy nhập $flag nhưng mà chúng ta lựa chọn thì hàm extract sẽ có được những tùy lựa chọn không giống nhau, nếu như nhập tình huống chúng ta ko truyền thông số $flag thì khoác toan hàm sẽ tiến hành xử lý theo gót $flag EXTR_OVERWRITE, trong ví dụ bên trên chúng ta có thể thấy, hàm extract được truyền nhập thông số là $EXTR_PREFIX_SAME – khi sở hữu thay đổi vẫn tồn bên trên thì tạo ra thêm 1 thay đổi với chi phí tố $frefix vẫn truyền vào

Khuyến cáo: Không nên dùng hàm extract() trong những tình huống xử lý tài liệu thẳng với những thay đổi khối hệ thống như $_GET, hoặc $_SET, cảnh báo này cũng vận dụng với $_FILES.

Ví dụ minh họa

<?php var_dump($testfile); extract($_FILES, EXTR_SKIP); var_dump($testfile); var_dump($testfile['tmp_name']); ?>

Như tôi đã lời khuyên phía trên, nhập tình huống này chúng ta có thể ước muốn một thành phẩm như sau:

string(14) "/tmp/phpgCCPX8" array(5) { ["name"]=> string(10) "somefile.txt" ["type"]=> string(24) "application/octet-stream" ["tmp_name"]=> string(14) "/tmp/phpgCCPX8" ["error"]=> int(0) ["size"]=> int(4208) } string(14) "/tmp/phpgCCPX8"

Tuy nhiên thành phẩm thực tiễn tiếp tục là

string(14) "/tmp/phpgCCPX8" string(14) "/tmp/phpgCCPX8" string(1) "/"

Như vậy việc thao tác với những thay đổi khối hệ thống hoặc tài liệu có tính rủi vì thế cao, chúng ta tránh việc dùng extract().

Ứng dụng

<?php class Foo { public function __construct ($array) { extract($array, EXTR_REFS); foreach ($array as $key => $value) { $this->$key = $$key; } } } $array = array( 'valueOne' => 'Test Value 1', 'valueTwo' => 'Test Value 2', 'valueThree' => 'Test Value 3' ); $foo = new Foo($array); // Works echo $foo->valueOne; // Test Value 1 echo $foo->valueTwo; // Test Value 2 ?>

Trong ví dụ bên trên những chúng ta có thể thấy phần mềm của hàm extract() trong các việc khởi tạo ra một đối tượng người tiêu dùng có không ít thông số dễ dàng và đơn giản ra sao.

Các hàm liên quan

  • Hàm compact() tạo rời khỏi mảng phối hợp kể từ biếngiá trị của một mảng
  • Hàm list() gán những thay đổi như thể bọn chúng là 1 trong mảng

Hi vọng với nội dung bài viết này, chúng ta vẫn nắm rõ cơ hội dùng hàm extract() trong PHP. Nếu thấy nội dung bài viết hoặc và ý nghĩa sâu sắc, hãy lượt thích và share với đồng minh nhằm người xem cùng với nhau học hành nhé.

Cảm ơn chúng ta vẫn ghé thăm hỏi indonesia-hanoi.org.vn

 

 

 

 

 

 

 

 

 

 

 

Xem thêm: truyền thống quân đội nhân dân việt nam

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xem thêm: // là gì trong toán học