Mengapa menggunakan fungsi extract() di PHP?

0
(0)

Ekstrak() function adalah fungsi bawaan dalam PHP yang digunakan ketika ada konflik dalam nama variabel. Ketika seseorang menulis kode kira-kira 100 baris, ada kemungkinan dia sudah mendeklarasikan variabel, lalu ada konflik antara nilai variabel yang kita tetapkan. Dengan menggunakan fungsi extract() kita dapat memilih nilai mana yang akan disimpan.

Juga, kita dapat menggunakannya untuk mengekstrak variabel array ke dalam tabel simbol. Ini mengekstrak pasangan nilai kunci dalam simbol yang berbeda dan kita dapat mengaksesnya secara langsung dengan memanggil variabelnya. Selalu ingat bahwa itu tidak dapat digunakan untuk data yang diberikan pengguna di mana kami dapat mengambil data dari beberapa get atau posting atau metode lainnya.

 extract(array, extract_rules, prefix)
  • Himpunan: Kita dapat melewati array yang ingin kita ekstrak.
  • ekstrak_rules: Ada 8 jenis aturan yang melakukan berbagai jenis hal
    1. EXTR_OVERWRITE
    2. EXTR_SKIP
    3. EXTR_IF_EXISTS
    4. EXTR_REFS
    5. EXTR_PREFIX_SAME
    6. EXTR_PREFIX_INVALID
    7. EXTR_PREFIX_IF_EXISTS
    8. EXTR_PREFIX_ALL
  • awalan: Ini mendeklarasikan variabel dengan awalan bersama dengan garis bawah. Ini hanya digunakan ketika aturan adalah EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID atau EXTR_PREFIX_IF_EXISTS

Kita dapat memahami setiap aturan satu per satu dengan contoh yang diberikan.

Contoh 1: Dalam hal ini, kami hanya melewatkan array dan ada tidak ada aturan ekstrak. Jadi itu tidak dapat melakukan apa pun dengan $a dan tetap tidak berubah.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array);

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c ";

     

?>

Keluaran:

Contoh 2: Dalam hal ini, kami menggunakan EXTR_OVERWRITE, sehingga menimpa nilai variabel. Juga, tidak ada awalan yang digunakan seperti yang disebutkan di atas.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_OVERWRITE);

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c "."<br>";

 

?>

Keluaran:

Contoh 3: Dalam hal ini, kami menggunakan EXTR_SKIP, sehingga melewatkan nilai setelah menetapkan variabel karena Anda dapat melihat bahwa nilai $a mempertahankan nilainya dan mencetak “GeeksforGeeks”. Tidak ada awalan yang digunakan seperti yang disebutkan di atas.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_SKIP);

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c "."<br>";

 

?>

Keluaran:

Contoh 4: Dalam hal ini, kami menggunakan EXTR_IF_EXISTS, jadi itu mempertahankan variabel yang sudah dideklarasikan dan sebaliknya tidak melakukan apa pun pada variabel yang tidak cocok. Seperti yang Anda lihat pada gambar di bawah ini ada variabel b,c yang tidak terdefinisi karena belum dideklarasikan, jadi tidak diekstraksi.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_IF_EXISTS);

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c "."<br>";

 

?>

Keluaran:

Contoh 5: Dalam hal ini, kami menggunakan EXTR_REFS, jadi itu merujuk ke variabel yang sama setelah mengekstraknya. Seperti yang Anda lihat, Anda dapat mengakses semua variabel hanya dengan nama nilainya seperti yang ditunjukkan pada gambar di bawah ini.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_REFS);

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c "."<br>";

 

?>

Keluaran:

Contoh 6: Dalam hal ini, kami menggunakan EXTR_PREFIX_SAME. sayan ini ketika variabel sudah dideklarasikan maka ia mempertahankan nilainya dan itu membuat variabel baru dengan awalan bersama dengan variabel garis bawah dan kemudian memberikan nilai yang diekstraksi seperti yang ditunjukkan pada gambar di bawah ini.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_PREFIX_SAME,"gfg");

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c "."<br>";

    echo "gfg_a = $gfg_a "."<br>";

 

?>

Keluaran:

Contoh 7: Dalam hal ini, kami menggunakan EXTR_PREFIX_INVALID. Ada sebuah array dengan kunci numerik dan ketika kita mengekstrak nilai itu menciptakan variabel dengan nama awalan dan memberikan nilai-nilai seperti yang ditunjukkan gambar di bawah ini.

PHP

<?php

 

    $my_array = array("Geeks","for", "Geeks");

    extract($my_array, EXTR_PREFIX_INVALID,"gfg");

 

    echo "gfg_0 = $gfg_0 "."<br>";

    echo "gfg_1 = $gfg_1 "."<br>";

    echo "gfg_2 = $gfg_2 "."<br>";

 

?>

Keluaran:

Contoh 8: Dalam hal ini, kami menggunakan EXTR_PREFIX_IF_EXISTS, jika variabel sudah dideklarasikan maka ia mempertahankan nilainya dan menetapkan variabel baru dengan awalan dan menetapkan nilai ekstrak seperti yang ditunjukkan pada gambar di bawah ini. Itu hanya membuat variabel awalan jika versi non-awalan dari variabel yang sama ada.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_PREFIX_IF_EXISTS,"gfg");

    echo "a = $a "."<br>"

    echo "b = $b "."<br>";

    echo "c = $c "."<br>";

    echo "gfg_a = $gfg_a "."<br>";

 

?>

Keluaran:

Contoh 9: Dalam hal ini, kami menggunakan EXTR_PREFIX_ALL, jadi itu mengekstrak semua variabel dengan nama awalan dan memberikan nilai dan variabel asli tetap tidak berubah.

PHP

<?php

 

    $a = "GeeksforGeeks";

    $my_array = array("a" => "Geeks","b" => "for", "c" => "Geeks");

    extract($my_array, EXTR_PREFIX_ALL,"gfg");

    echo "a = $a "."<br>"

    echo "gfg_a = $gfg_a "."<br>";

    echo "gfg_b = $gfg_b "."<br>";

    echo "gfg_c = $gfg_c "."<br>";

 

?>

Keluaran:

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.