Rumah > Soal Jawab > teks badan
P粉4492810682023-08-16 17:52:28
Takrifan fungsi
implode
adalah sangat kasar bersamaan dengan kod berikut (ini hanyalah contoh, tidak diuji):
function not_really_implode($glue, $pieces) { $result = ''; $first = true; foreach ( $pieces as $piece ) { if ( ! $first ) { $result .= $glue; } $pieceAsString = (string)$piece; $result .= $pieceAsString; $first = false; } return $result; }Intinya ialah baris kod ini:
$pieceAsString = (string)$piece;
- Untuk menggabungkan elemen tatasusunan, setiap elemen mesti ditukar kepada rentetan satu demi satu. $pieceAsString = (string)$piece;
- 为了组合数组的元素,implode
Sekarang fikirkan jika kelihatan seperti ini:
$pieces = [ 'one', ['two-a', 'two-b'], 'three', ];
Pada satu ketika dalam gelung kami, kami akan mempunyai $pieces
dan cuba tukarkannya kepada rentetan - oops!
Jadi sebab amaran muncul adalah kerana di dalam $piece = ['two-a', 'two-b']
array
anda, terdapat tatasusunan lain. Beberapa cara ini boleh berlaku:
$_REQUEST
$_REQUEST['example'] = ['a', 'b'];
$_REQUEST
可以直接写入。例如,有人可以写入$_REQUEST['example'] = ['a', 'b'];
mengenal notasi tertentu /your-page.php?example[]=a&example[]=b
dan ['a', 'b']
.
/your-page.php?example[]=a&example[]=b
,$_REQUEST
将自动填充为['a', 'b']
Ini membawa peringatan yang sangat penting: sebarang andaian tentang kandungan dalam , kerana $_REQUEST
input adalah di bawah kawalan pengguna, dan pengguna mungkin bukan rakan anda.