2013-10-21 27 views
0

我有下面的代碼,通過數組迭代,並從結果建立一個字符串:PHP字符串不是建立

$finalstring; 
$tempstring; 

foreach($arr as $key => $value) 
{ 
    $i = 0; 
    foreach($value as $key1 => $value1) 
    { 
     $i+= 1; 

     if($i == 1) 
     {   

      $tempstring . $value1 . "|"; 

     } 
     if($i == 2) 
     { 

      $tempstring . $value1 . "|||||"; 

     } 
     if($i == 3) 
     { 

      $tempstring . $value1 . "||||||||||"; 

     } 
     if($i == 4) 
     {  

      $tempstring . $value1 . "|||||||||||||||||\n"; 

     } 

    } 

      echo $tempstring; 
      $finalstring . $tempstring; 

} 
      echo $finalstring; 

但是,代碼似乎不能建立一個字符串(數組絕對不是空,它格式化像所謂

Array 
(
    [0] => Array 
     (
      [Name] => Ron 
      [Date] => 9/23/10 
      [Title] => Boss 
      [Activity] => Soccer 
     ) 

    [1] => Array 
     (
      [Name] => Tim 
      [Date] => 9/23/10 
      [Title] => player 
      [Activity] => Soccer 
     ) 

    [2] => Array 
     (
      [Name] => Jim 
      [Date] => 9/23/10 
      [Title] => manager 
      [Activity] => Soccer 
     ) 

    [3] => Array 
     (
      [Name] => Lud 
      [Date] => 9/23/10 
      [Title] => employee 
      [Activity] => Soccer 
     ) 

    [4] => Array 
     (
      [Name] => Ron 
      [Date] => 9/23/10 
      [Title] => sub boss 
      [Activity] => Soccer 
     ) 

    [5] => Array 
     (
      [Name] => Lev 
      [Date] => 9/23/10 
      [Title] => mini boss 
      [Activity] => Soccer 
     ) 

    [6] => Array 
     (
      [Name] => Timpthy 
      [Date] => 9/23/10 
      [Title] => super boss 
      [Activity] => Soccer 
     ) 

    [7] => Array 
     (
      [Name] => Jimbo 
      [Date] => 9/23/10 
      [Title] => final battle 
      [Activity] => Soccer 
     ) 

    [8] => Array 
     (
      [Name] => El 
      [Date] => 9/23/10 
      [Title] => link 
      [Activity] => Soccer 
     ) 

) 

是否有任何理由爲什麼代碼無法建立兩個$tempstring$finalstring(我的意思是,回聲語句不輸出價值)?

+2

$ tempstring。= [...]? – sglessard

+0

你永遠不會在任何地方分配值。你需要:'$ tempstring。= $ value1。 「|」;' – keithhatfield

+0

它的建設很好,你只是從不做任何事情的結果價值。 – deceze

回答

4

你應該建立這樣的:

$tempstring .= $value1 . "|"; 
1

初始化$finalstring$tempstring爲空字符串。而你要的值存儲到變量每次使用例如

$tempstring .= $value1 . "|"; 

記得把=這樣的價值可以合併

1

我不知道你爲什麼這樣做,但錯誤是你沒有分配連接值。正因爲如此,拼接的結果是不會去任何地方,即使是計算(不知道它甚至評價,因爲我懷疑解釋有內置在優化會忽略共評估)

相反的:

$tempstring . $value1 . "|"; 

你應該寫:

$tempstring .= $value1 . "|"; 

或在手寫:

$tempstring = $tempstring . $value1 . "|";