, Php virgülle ayrılmış değerler Sayma nasıl?

4 Cevap php

Ben bir virgül (çöktüğünü) ile ayrılmış bir değişken tutma değerleri, I) (saymak, ancak bu değişken değerlerin toplam sayısını almaya çalışıyorum sadece 1 dönüyor.

Ben hala ÇIKIŞ1 tükürür düzgün biçimlendirilmiş bir dizi virgülle ayrılmış değerler dönüştürme denedim.

Öylesine işte sarray oturum değer1, değer2, değer3 eşittir hızlı parçacığını:

$schools = $_SESSION['sarray'];
$result = count($schools);

Herhangi bir yardım mutluluk duyacağız.

4 Cevap

Sen gerçek bir diziye explode $schools gerekir:

$schools = $_SESSION['sarray'];
$schools_array = explode(",", $schools);
$result = count($schools_array);

Sadece sayısı ihtiyacı ve temiz bir virgülle ayrılmış listesi% 100 emin iseniz, siz de substr_count() hangi marjinal daha hızlı ve daha da önemlisi, kolay bellek veri çok büyük setleri ile olabilir kullanabilirsiniz:

$result = substr_count( $_SESSION['sarray'], ",") +1; 
 // add 1 if list is always a,b,c;
$schools = $_SESSION['sarray'];
$array = explode(',', $schools); array_walk($array, 'trim');
$count = count($array);

array_walk($array, 'trim') elemanları herhangi bir değer sonunda boşluk kaldırır. :)

Aslında bu daha da basit:

$count = substr_count($schools, ',') + 1;

Olmalı

$ Result = sayımı ((',', $ okullar) patlayabilir);