này làm việc cho me
if (is_array($array)) {
$obj = new StdClass();
foreach ($array as $key => $val){
$key = str_replace("-","_",$key)
$obj->$key = $val;
}
$array = $obj;
}
chắc chắn rằng str_replace là có như '-' không được phép trong các tên biến trong php, cũng như:
Naming Nội quy cho biến
* A variable name must start with a letter or an underscore "_"
* A variable name can only contain alpha-numeric characters and underscores (a-z, A-Z, 0-9, and _)
* A variable name should not contain spaces. If a variable name is more than one word, it should be separated with an underscore ($my_string), or with capitalization ($myString)
Vì vậy, kể từ khi chúng được cho phép trong mảng, nếu bất kỳ trong số họ đến trong $ key từ mảng bạn đang chuyển đổi, bạn sẽ có lỗi khó chịu.
Câu trả lời hay nhất thường đơn giản nhất +1 – alex