2013-03-16 20 views
1

我有一個大小= 1的數組,當我嘗試獲取當前數組它的返回false,但數組有值。PHP當前()返回false時傳遞一個有效的數組

$article=getArticle($id); 
    if(is_array($article)) 

    { $article=current($article); } 

getArticle返回多維數組,並且當前的var_dump可以看到數組。 如果var_dump在當前我得到錯誤。

如果我使用上面的代碼(因爲數組的大小= 1)

  if(is_array($article)) 
      { 
        foreach($article as $k=>$v) 
       { 
      $article=$v; 
       } 
      } 

它工作沒有任何問題

的哪些錯誤與當前?

請幫

===============編輯========================

這是當前 前的var_dump我有,因爲是大文本

array(1) { 
     [529]=> 
     array(14) { 
     ["articles_id"]=> 
     string(3) "529" 
     ["issue"]=> 
     string(3) "161" 
     ["membership_type"]=> 
     string(1) "1" 
     ["el"]=> 
     array(9) { 
      ["title"]=> 
      string(23) "AUTOBIANCHI A112 ABARTH" 
      ["url"]=> 
      string(23) "autobianchi-a112-abarth" 
      ["summary"]=> 
      string(397) " i have remove it 
    " 
      ["content"]=> 
      string(11580) " i have remove it too large 
    " 
      ["meta_keywords"]=> 
      string(23) "AUTOBIANCHI,A112,ABARTH" 
      ["meta_description"]=> 
      string(402) " " 
      ["created"]=> 
      string(10) "1362076380" 
      ["last_updated"]=> 
      string(1) "0" 
      ["status"]=> 
      string(1) "1" 
     } 
     ["categories_id"]=> 
     string(2) "12" 
     ["authors_id"]=> 
     string(2) "16" 
     ["brands_id"]=> 
     string(2) "36" 
     ["models_id"]=> 
     string(3) "206" 
     ["engines_id"]=> 
     string(3) "174" 
     ["o-categories"]=> 
     array(1) { 
      ["values"]=> 
      array(1) { 
      [12]=> 
      array(15) { 
       ["categories_id"]=> 
       string(2) "12" 
       ["object_id"]=> 
       string(1) "1" 
       ["parent_id"]=> 
       string(1) "0" 
       ["path"]=> 
       string(2) "12" 
       ["handler"]=> 
       string(0) "" 
       ["icon"]=> 
       string(0) "" 
       ["tpl"]=> 
       string(12) "articles.php" 
       ["alias"]=> 
       string(1) "0" 
       ["is_nav"]=> 
       string(1) "1" 
       ["pos"]=> 
       string(2) "10" 
       ["depth"]=> 
       string(1) "0" 
       ["cts"]=> 
       string(0) "" 
       ["mts"]=> 
       string(0) "" 
       ["configuration"]=> 
       string(0) "" 
       ["el"]=> 
       array(15) { 
       ["categories_id"]=> 
       string(2) "12" 
       ["lang"]=> 
       string(2) "el" 
       ["category_name"]=> 
       string(13) "Classic" 
       ["sub_title"]=> 
       string(0) "" 
       ["summary"]=> 
       string(0) "" 
       ["image"]=> 
       string(0) "" 
       ["html_code"]=> 
       string(0) "" 
       ["meta_title"]=> 
       string(0) "" 
       ["url"]=> 
       string(13) "classic" 
       ["url_path"]=> 
       string(13) "classic" 
       ["meta_keywords"]=> 
       string(0) "" 
       ["meta_description"]=> 
       string(0) "" 
       ["created"]=> 
       string(10) "1355235888" 
       ["last_updated"]=> 
       string(1) "0" 
       ["status"]=> 
       string(1) "1" 
       } 
      } 
      } 
     } 
     ["o-authors"]=> 
     array(1) { 
      ["values"]=> 
      array(1) { 
      [16]=> 
      array(4) { 
       ["authors_id"]=> 
       string(2) "16" 
       ["object_id"]=> 
       string(2) "26" 
       ["image"]=> 
       string(0) "" 
       ["el"]=> 
       array(9) { 
       ["authors_id"]=> 
       string(2) "16" 
       ["lang"]=> 
       string(2) "el" 
       ["name"]=> 
       string(31) "Last First" 
       ["last_name"]=> 
       string(10) "Last" 
       ["first_name"]=> 
       string(20) "First" 
       ["nick_name"]=> 
       string(0) "" 
       ["created"]=> 
       string(10) "1360567827" 
       ["last_updated"]=> 
       string(1) "0" 
       ["status"]=> 
       string(1) "1" 
       } 
      } 
      } 
     } 
     ["o-brands"]=> 
     array(1) { 
      ["values"]=> 
      array(1) { 
      [36]=> 
      array(6) { 
       ["brands_id"]=> 
       string(2) "36" 
       ["object_id"]=> 
       string(2) "17" 
       ["brand_name"]=> 
       string(11) "AUTOBIANCHI" 
       ["created"]=> 
       string(10) "1363179463" 
       ["last_updated"]=> 
       string(1) "0" 
       ["status"]=> 
       string(1) "1" 
      } 
      } 
     } 
     ["o-models"]=> 
     array(1) { 
      ["values"]=> 
      array(1) { 
      [206]=> 
      array(7) { 
       ["models_id"]=> 
       string(3) "206" 
       ["object_id"]=> 
       string(2) "18" 
       ["brands_id"]=> 
       string(2) "36" 
       ["model_name"]=> 
       string(11) "A112 ABARTH" 
       ["created"]=> 
       string(10) "1363179480" 
       ["last_updated"]=> 
       string(1) "0" 
       ["status"]=> 
       string(1) "1" 
      } 
      } 
     } 
     ["o-engines"]=> 
     array(1) { 
      ["values"]=> 
      array(1) { 
      [174]=> 
      array(6) { 
       ["engines_id"]=> 
       string(3) "174" 
       ["object_id"]=> 
       string(2) "19" 
       ["engine"]=> 
       string(5) "1.050" 
       ["created"]=> 
       string(10) "1363179448" 
       ["last_updated"]=> 
       string(1) "0" 
       ["status"]=> 
       string(1) "1" 
      } 
      } 
     } 
     } 
    } 
+2

你能發表文章的var_dump嗎? – 2013-03-16 07:14:36

+0

@Mario:你可以檢查我編輯的var_dump Q – ntan 2013-03-16 07:27:35

+0

你可以發佈getArticle函數嗎? – mintobit 2013-03-16 07:33:32

回答

1

你可以嘗試

$article=getArticle($id); 
if (is_array($article)) { 
    $article = reset($article); 
} 

$article=getArticle($id); 
if (is_array($article)) { 
    $article = array_shift($article); 
} 

你可以窺視documentation about resetdocumentation about array_shift

+0

+ 1 array_shift正在工作,但它仍然是不合邏輯的,目前失敗 – ntan 2013-03-16 07:48:49

+0

該文檔指出'內部指針[...]被初始化爲插入到數組中的第一個元素。不知道如何在代碼中創建數組,但也許您正在使用不在數組中插入值的函數。 – 2013-03-16 07:56:50

+0

我添加getArtilces之前返回陣列上的重置和工作得很好。謝謝你救了我的一天 – ntan 2013-03-16 08:18:58

1

如果您在getArticle()函數,那麼它的內部指針丟失數組複製刪除內容及摘要。

我認爲這是原因,它返回false。

+0

+1爲您的通知和知識,但我會檢查如果我複製表,謝謝 – ntan 2013-03-16 07:45:31

相關問題