2016-08-14 46 views
0

if ($arr[$key][0] == 'th') //不工作PHP的if語句問題具有分解數組值

我一直在想我的數組值轉換爲字符串,但是我的if語句是不正確的,請幫助!

代碼:

$preparedstring = " 
pb,List information,ca; 
'th',Name,ca; 
th,Surname,ca; 
th,ID,ca; 
th,Gender,ca; 
th,Gender,ca; 
pb,personal details,ca; 
fl,Name,la; 
fl,Surname,la; 
fl,ID,la; 
fl,Gender,la 
"; 

$columncount = 0; 
$firstindex = 0; 
$lastindex = 0; 
$functionvalue = ""; 

$outerARR = explode(";", $preparedstring); 
$arr = array(); 

foreach ($outerARR as $arrvalue){ 


    $innerarr = explode(",", $arrvalue); 
    $arr[] = $innerarr; 

} 
print_r($arr); 

unset($arrvalue); 
//Read the array 
foreach ($arr as $key => $arrvalue1){ 
    $functionvalue = $arr[$key][0]; 

    echo $functionvalue; 

    //Get column key functions 
     if ($arr[$key][0] == 'th'){ 
      $firstindex++; 
      echo "<p>".$a."</p><br/>"; 
     }  
     elseif ($firstindex > 0) 
     { 
       $lastindex = $key - 1; 
     } 

    foreach ($arrvalue1 as $arrvalue2){ 

      } 
    $a++; 
} 

echo "<p>".$arr[0][0].".</p><br/> First Index : ".$firstindex. " Last Index : ".$lastindex. "---".$functionvalue; 

輸出:

Array ([0] => Array ([0] => pb [1] => List information [2] => ca) [1] => Array ([0] => 'th' [1] => Name [2] => ca) [2] => Array ([0] => th [1] => Surname [2] => ca) [3] => Array ([0] => th [1] => ID [2] => ca) [4] => Array ([0] => th [1] => Gender [2] => ca) [5] => Array ([0] => th [1] => Gender [2] => ca) [6] => Array ([0] => pb [1] => personal details [2] => ca) [7] => Array ([0] => fl [1] => Name [2] => la) [8] => Array ([0] => fl [1] => Surname [2] => la) [9] => Array ([0] => fl [1] => ID [2] => la) [10] => Array ([0] => fl [1] => Gender [2] => la)) 

pb 'th' th th th th pb fl fl fl fl 

pb. 

First Index : 0 Last Index : 0--- fl 

這是輸出,你可以看到我的if語句是假

+0

什麼應該是指$? –

回答

0

你需要從字符串中刪除所有換行符和然後執行操作:

$outerARR = explode(";", preg_replace('~[\r\n]+~', '', $preparedstring));