Jump to content
php.lv forumi

Datu izgūšana no array


zinatnieks

Recommended Posts

  • Replies 30
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Ok tagad man ir jautājums kā dabūt tā masīva lielumu? Es mēģinu vienkārši sizeof($dati) vai arī sizeof($dati['Dala']). Pirmajā gadījumā man viņš izvada vien, bet otrā seši. Bet ja es to masīvu pamainu piemēram pret tādu kurā nav seši masīvi, viņš man tik un tā izvadīs 6, jo acīmredzot viņš skaita to ierakstu skaitu katrā masīvā, bet man vajag lai viņš atgriež man visu masīvu skaitu.

Doma apmēram tāda: Šajā gadījumā http://paste.php.lv/6819 viņam man vajadzētu atgriest 6, bet šajā http://paste.php.lv/6831 viņam man vajadzētu atgriest vērtību 5. Kā lai es to panāku?

Link to comment
Share on other sites

Uztaisi rekursīvu funkciju, ja tev vajag izskaitīt visus elementus visos dziļumos.

 

function sizeof_recursive($array, $count = 0) {
 $count = sizeof($array);
 foreach($array as $v) {
if (is_array($v)) {
  $count += sizeof_recursive($v, $count);
}
 }
 return $count;
}

 

Rakstīju tepat uz ātro, nepārbaudīju. Nezinu vai strādās. :]

Link to comment
Share on other sites

Viss ir ok tavs dotais variants nostrādāja :)

Bet tagd ir vēl viena problēma.

Man ir klase:

class Nosaukums
{
	public $ID;
	public $parmetrs1;
	public $parametrs2;
	public $parametrs3;
}

$mainigais = new Nosaukums;

$mainigais->ID = $_POST["id"];
$mainigais->parametrs1 = 10;
$mainigais->parametrs2 = 54;
$mainigais->parametrs3 = abc;

 

Kā jau var redzēt es to ID parametru cenšos iegūt no formas kurai ir teksta lauks ar name parametru id. Kad es vienkārši to $_POST["id"] ar echo mēģinu izvadīt ārā viņš normāli izvada to ievadīto id. Bet kad es viņu mēģinu ielasīt šeit $mainigais->ID = $_POST["id"]; un tālāk apstrādāt ar foreach() tads viņš man nestrādā. Un ja es arī ar echo izvadu tieši pirms tā foreach cikla to $mainigais->ID lai pārbaudītu vai viņš ir saņēmis to POST vērtību brīnumainā kārtā arī tad viņš viņu izvada uz ekrāna.

Un vēl, ja es $mainigais->ID = $_POST["id"]; vietā ierakstu ar roku to id parametru ($mainigais->ID = 15478;) tad tas foreach cikls nostrādā normāli, bet ar POST parametru nē.

Kur varētu būt problēma?

Link to comment
Share on other sites

Nē. Tā klase paredzēta tikai datu iegūšanai. Pēc tam tiek veidots masīvs kuru arī apstrādā tālāk tas foreach. Kā jau teicu ja es $mainigais->ID = $_POST["id"]; vietā ierakstu ar roku to id parametru ($mainigais->ID = 15478;) tad tas foreach cikls nostrādā normāli, bet ar POST parametru nē.

Link to comment
Share on other sites


×
×
  • Create New...