2012-06-17 17 views
13

Tôi có một đoạn văn bản nhiều dòng hơn mà tôi cần đưa vào một mảng kết hợp PHP thông qua tài liệu tại đây. Có vẻ như sau:Làm thế nào để sử dụng một tài liệu PHP ở đây trong một mảng kết hợp?

$data = [ 
     "x" => "y", 
     "foo" => "bar", 
     /* ... other values ... */ 
     "idx" = <<< EOC 
data data data data 
data data data data 
data data data data 
EOC; 
     "z" => 9, 
     /* ... more values ... */ 
    ]; 

Tôi không thể tìm cách đặt phần tử đó "idx" với văn bản nhiều dòng trong mảng dữ liệu $ thông qua tài liệu tại đây.

Trả lời

18

Có một số vấn đề, nó phải giống như thế này:

$data = [ 
    "x" => "y", 
    "foo" => "bar", 
    /* ... other values ... */ 
    // you need to use '=>' 
    "idx" => <<<EOC 
data data data data 
data data data data 
data data data data 
EOC 
,"z" => 9, // you can't end it with a semicolon, WHY EVER! and the comma needs to be on a new line 
/* ... more values ... */ 
]; 

Đó là một số mã PHP hacky và thô. Tôi không khuyên bạn nên sử dụng nó, nó có đầy đủ các vấn đề (có thể do lexer gây ra). Tốt hơn dính vào dây cũ tốt.

3

tôi đã cùng một vấn đề và tôi đã kết thúc làm điều này:

$data = [ 
    "x" => "y", 
    "foo" => "bar", 
    /* ... other values ... */ 
    "z" => 9, 
    /* ... more values ... */ 
]; 

$data["idx"] = <<< EOC 
data data data data 
data data data data 
data data data data 
EOC; 

Ý tưởng là tôi có thể sử dụng heredoc không có định dạng mảng vô cùng xấu xí.

Các vấn đề liên quan