1

私のPHPスクリプト

    $file_carrito=file("carrito.dat");

    $x=0;

    for($i=0;$i<sizeof($file_carrito);$i++)
    {
    $array_products_1[]=$file_carrito[$i];

    $x++;
    }



echo (array_count_values($array_products_1));  

この単純なファイル .dat に、ユーザーが追加したすべての製品を保存し、それぞれのケースで、ID とケースごとに製品の合計を数えます。

たとえば、ある製品の 5 つの ID と他の製品 ID の 4 つの ID をファイルに含めることができます。最終的に、これは同じ ID を持つ製品を de dat ファイルに保存する必要があります。

例: 鉛筆 5 本、椅子 3 台、テーブル 2 台など .....

The problem it´s no works : echo (array_count_values($array_productos_1)); 



content of carrito.dat :

p1
p1
p1
p3
p3
p3
p2
p2
p2
p1
p1



With this function of array i want get :

Product p1 ---- (5)
Product p2 ----- (3) , etc

ありがとう

4

2 に答える 2

0

簡単な方法:

$data = file('carrito.dat');

print_r(array_count_values($data));

以下のようなものが表示されます。

Array
(
    [p1] => 5
    [p3] => 3
    [p2] => 3
)
于 2012-12-12T14:48:27.333 に答える
0

このようにあなたの価値観を数えなさい

$array = array('x', 'x', 'x', 'x', 'y', 'y');
$counts = array();
foreach($array as $value) {
    $counts[$value] = array_key_exists($value, $counts) ? $counts[$value]+1 : 1;
}

print_r($counts);

あなたの場合。配列は次のように塗りつぶされます

$array = explode("\n", file_get_contents(...));
于 2012-12-12T14:39:46.103 に答える