我讀了一些線程,但沒有一個看起來與我需要的匹配。 我在做什麼,像投票系統,但目前不包括MySQL。如何使用php來統計相同的數組?
我製作了三個單選按鈕,分別爲pop,rock,metallic和a提交 ,因此無論哪個人選擇其中一個並提交數據,都會寫入data.json並存儲在那裏。
然後我有一個頁面來加載data.json文件中的所有數據,但我想要統計有多少人選擇了例如金屬和有多少人選擇了搖滾。
目前我還在測試,我真的想到了一個想法,但不知何故被搜查,沒有得到我想要的.....可有人給我一隻手嗎?
這是我data.json文件
{"type":"metallic"}
{"type":"pop"}
{"type":"metallic"}
,這是我的結果代碼是目前
<?php
$file = fopen('data.json', "r");
$array_record = array();
while(!feof($file))
{
$line = fgets($file);
$data = json_decode($line, TRUE);
if (is_array($data))
{
foreach ($data as $key => $value)
{
// echo $key.'='.$value.' '; // show key=value pairs
$array_record += array($value,);
var_dump($data);
print_r($data);
echo $value;
}
echo '<br>'.PHP_EOL;
}
}
fclose($file);
?>
我所知道的代碼是凌亂的,因爲我想建立一個空數組首先得到$value
這是金屬類似的東西,所以我可以使用array_count_values,但我做的方式似乎完全錯誤或永遠不會工作。我嘗試了其他幾種方法來獲得金屬/流行音樂,所以我可以嘗試計算同樣的事情。
AH!我剛剛發現這個話題How to filter JSON array into PHP array
明天我要讀這個主題,看看它是否有幫助。 但是,如果你也可以幫我一把,它也不會受到傷害。
使用JSON全新的,但之後,你告訴我,這是無效的我搜索周圍,我知道你的意思,但奇怪我使用json_encode來存儲到data.json文件中,我粘貼的是存儲在data.json中的內容,並且解碼器確實讀取了數據。 – WXR
感謝您的信息,不完全瞭解它完全特別。 $ v [$ item ['type']]部分,但我會做更多的研究〜! – WXR
@ user2128405'$ v'是回調結果,所以回傳給'$ result'的是'$ v'和'$ v [$ item ['type']]''意味着我們在每個' $ v'的值或'$ item ['type']',在你的情況'metallic'和'php'中,並且每次找到相同類型時該值都會增加。 [它也在這裏詳細說明](http://www.php.net/manual/en/function.array-reduce.php) – Prix