2013-05-02 89 views
0

我試圖訪問一個php數組。但它是拋出我陣列字符串轉換錯誤。PHP數組到字符串轉換

這是我的代碼

if(isset($_POST['category'])){ 
       $category = array($_POST['category']); 
       if(sizeof($category) > 0){ 
        foreach($category as $key){ 
         $categ = $categ.$key.', '; 
        } 
       } 
      } 
+1

$ _POST ['category']中包含了什麼?一個字符串或數組? – philipobenito 2013-05-02 14:53:28

+1

'print_r()'你的變量 - 你認爲其中一個字符串('$ categ','$ key')不是字符串。也初始化你的變量 - 你的下一個問題將是'$ categ is undefined'(你第一次訪問它)。 – AD7six 2013-05-02 14:54:03

+0

在這種情況下,類別必須是對象數組。 $ key本身應該是一個不能轉換爲字符串的對象。 – hridayesh 2013-05-02 14:54:18

回答

1

做..

if (isset($_POST['category'])) { 

    if (!is_array($_POST['category'])) { 
     $category = array($_POST['category']); 
    } else { 
     $category = $_POST['category']; 
    } 

    $categ = ''; 

    foreach ($category as $value) { 
     if (!is_string($value)) { 
      // do anything, but not autocast to string! 
      continue; 
     } 
     $categ .= $value . ', '; 
    } 
} 
0

這應該做的工作。

if (is_array($_POST['category'])) { 

    $category = implode(", ", $_POST['category']); 

}