Jump to content
php.lv forumi

Recommended Posts

  • Replies 30
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

Izmanto nestētus foreach.

 

Tev pirmajā līmenī tikai viens elements un tas ir Dala ?

 

foreach($data['Dala'] as $item) {
$item['id'] un $item[...] prieksh citiem datiem
}

Posted

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?

Posted

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. :]

Posted

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?

Posted

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ē.

Posted

Varbūt tev baigi jūtīgs kods un viņam nepatīk, ka ID tiek padots kā string tips (visi $_POST dati ir string tipa).

 

$mainigais->ID = '15478'; strādā ?

 

Pamēģini $mainigais->ID = (int) $_POST["id"];


×
×
  • Create New...