Tôi có một số vấn đề lạ với hàm isset() trong PHP. Hãy để tôi hiển thị ....php isset() trên một biến chuỗi sử dụng một chuỗi như chỉ số
<?php
$aTestArray = array(
'index' => array(
'index' => 'Główna'
),
'dodaj' => 'Dodaj ogłoszenie',
);
var_dump(isset($aTestArray['index']));
var_dump(isset($aTestArray['index']['index']));
var_dump(isset($aTestArray['dodaj']));
var_dump(isset($aTestArray['index']['none']));
var_dump(isset($aTestArray['index']['none']['none2']));
// This unexpectedly returns TRUE
var_dump(isset($aTestArray['dodaj']['none']));
var_dump(isset($aTestArray['dodaj']['none']['none2']));
?>
của var_dump sẽ trở lại:
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
Tại sao var_dump thứ sáu() trả về TRUE?
Không chính xác. Một trong những tính năng tốt nhất của PHP là nó _does_ cho phép các phím chuỗi; '['none']' là một tên khóa hợp lệ. – Bojangles
+1 Cũng tốt để giải thích rằng sử dụng '[]' trên một chuỗi cố gắng truy cập các ký tự của nó như là các thành phần mảng. –
@JamWaffles Tuyệt đối! Nhưng đó là khi làm việc với mảng kết hợp. Trong trường hợp này, chúng tôi đang làm một cái gì đó như '' Dodaj ogłoszenie '[' none '] ', không hỗ trợ các khóa có tên. –