2016-11-22 59 views
2

我在PHP這個while循環:訪問一排的陣列PHP

<?php while($percentSKU = sqlsrv_fetch_array($resultSKU, SQLSRV_FETCH_ASSOC)) : ?> 
    <p><?php echo $percentSKU['PercentageSales']; ?>%</p> 
<?php endwhile; ?> 

哪出把12行,例如:

.00%.00%.00%, 0.00%,26.22%,.00%,3.96%,1.49%,5.23%,20.88%,42.22%,.00%有沒有辦法只打印出1個特定的行?

我已經試過這樣的事情:

<?php echo $percentSKU['PercentageSales'][4]; ?> 

但由於數組返回一個刺痛,我收到的第n個單個字符數據的第n行。 所以,而不是得到'26.2'我得到'2'

任何想法?

+0

的怎麼樣只是使用echo $ percentSKU [ 'PercentageSales']?我不確定,因爲我看不到數組的外觀。你可以使用print_r($ precentSKU ['PercentageSales']);並向我們​​顯示輸出? – JeroenE

+1

選擇輸出行的條件是什麼? –

+0

<?php print_r($ percentSKU ['PercentageSales']); ?>只是給我'.00%',我假設只是給我第一行... – PHPNewbie

回答

2

如果它正在返回一個字符串,您可以將其轉換爲數組並通過其索引訪問它。要將字符串轉換爲數組,您可以使用爆炸函數。

爲前:

$string = '.00%, .00%, .00%, .00%, 26.22%, .00%, 3.96%, 1.49%, 5.23%, 20.88%, 42.22%, .00%'; 

$result = explode(',' $string); 
$finalvalue = $result[0]; 

注:的$結果[0]將返回字符串的第一個值,你必須設置你需要的指數。使用MySQL

+0

非常感謝!因此,如果我想進一步採取這一步,並使$ string = $ percentSKU ['PercentageSales']; 使它動態我將如何去做,因爲我目前沒有得到任何輸出。我需要被包裹在循環中嗎? – PHPNewbie

+0

嘗試做var_dump到$ percentSKU ['PercentageSales'];變量並嘗試查找是否首先獲取$ resultSKU中的值。 – adi

+0

var_dump給了我這個:string(3)「.00」 – PHPNewbie

0

我使用這個函數:

function ExecuteQuery_assocArray($query) 
{ 
    $result = mysqli_query($this->link, $query); 
    $set = array(); 
    while ($set[] = mysqli_fetch_assoc($result)); 
    return $set; 
} 

返回$設置行

+1

感謝您抽出寶貴時間發表評論,但我使用的是SQL Server而不是MySQL,所以很不幸,這對我自己來說不會有用。 – PHPNewbie

+0

@PHPNewbie,但是你沒有在你的問題上,也沒有在你的標籤上指定你正在使用SQL服務器。 – Ronald

+0

@羅納德,我做了,但有人編輯我的問題刪除標籤。 – PHPNewbie