Forum » Programiranje » [PHP] empty array
[PHP] empty array
matijaz74 ::
Pozdravljeni! Bom problem kar napisal. Imam dva polja. Eno je prazno drugo pa polno. Iz polnega želim prenesti določene podatke v prazno. Problem je sedaj tu ko želim izvedeti velikost polja mi prikaže da je polje prazno. seveda sem napisal ukaz
echo sizeof($polje);Na začetku sem napisal tudi
$polje = array();Očitno sem nekaj pozabil. Pogledal sem tudi v php.net in so prikazani primeri kreiranja polja ali tabele samo tako da v štartu vnašajo podatke. Kako pa skreirati prazno polje? Hvala vam za odgovor.
lp
Matijaž
Matijaž
BigWhale ::
$empty_array = array(); $non_empty_array = array(1,2,3,4); if (isset($empty_array)) echo count($empty_array));
matijaz74 ::
$empty_array = array();
$non_empty_array = array(1,2,3,4);
if (isset($empty_array)) echo count($empty_array));
Zdravo. To vem. Kaj pa v primeru prenos iz ene polne tabele/polja v drug prazno tabelo/polje? Prenos že gre. Vendar če preverim ali je vnešeno določen podatek v prazno tabelo/polje pa mi javi da ne obstaja.
Primer:
$polje1 = array(1,2,3,4,5,6,7,8,7,6,5,4,3,2,1); $polje2 = array(); for($i=0;$i<sizeof($polje1);$i++){ $vrednost = $polje1[$i]; for($n=0;$n<sizeof($polje2);n++){ if($polje2[$n]=="") $polje2[$n]=$vrednost; else{ if($polje2[$n]==$polje1[$i]) break; } } } # preverim velikost polje2 echo sizeof($polje2); // <== prikaže da je prazno polje. Rezultat je velikosti je 0 print_r($polje2); // izpis je normalen.
Kodo sem napisal kar tu zato so mogoče tipkarske napake. Podobno sem napisal mi ne deluje. Ne vem kako naj še drugače rešim težavo. Hvala, vam za pomoč.
lp
Matijaž
Matijaž
Zgodovina sprememb…
- spremenil: matijaz74 ()
jype ::
matijaz74> Imam dva polja.
Dve polji.
Dve polji.
foreach ($polje1 as $el) $polje2[] = $el;
Zgodovina sprememb…
- spremenilo: jype ()
matijaz74 ::
matijaz74> Imam dva polja.
Dve polji.
Upss ... se opravičujem tudi za slovnično napako.
foreach ($polje1 as $el) $polje2[] = $el;
To je v redu jaz bi pa rad preveril, da se podatki ne podvojujejo. V prejšnjem primeru ki sem ga napisal pa ne bo najdel podatka.
lp
Matijaž
Matijaž
Ziga Dolhar ::
Mal nespretno mešaš način dela z dvema različnima tipoma polj v PHPju - (kvazi)indeksiranimi in (kvazi)asociativnimi. PHP: Arrays - Manual
Nujno si poglej, kako "delujeta" obe "vrsti" polj oz. kako se ju manipulira - sploh ker indeksi delujejo bistveno drugače v indeksiranem/asociativnem polju.
Ampak, če te prav razumem - ti v bistvu želiš izvesti združitev dveh polj tako, da bosta na koncu obe polju enaki in vsebovali unijo obeh posameznih polj (a brez ponavljanj)?
Nujno si poglej, kako "delujeta" obe "vrsti" polj oz. kako se ju manipulira - sploh ker indeksi delujejo bistveno drugače v indeksiranem/asociativnem polju.
Ampak, če te prav razumem - ti v bistvu želiš izvesti združitev dveh polj tako, da bosta na koncu obe polju enaki in vsebovali unijo obeh posameznih polj (a brez ponavljanj)?
https://dolhar.si/
Zgodovina sprememb…
- spremenil: Ziga Dolhar ()
Ziga Dolhar ::
Če želiš kar mislim da želiš -
Prvi merge združi oba arraya. Unique pofiltrira tako, da ima zgolj edinstvene vrednosti. Drugi, zunanji merge (povsem opcijski), arrayu še poresetira index tako, da je lepo "po vrsti".
Če želiš, da $polje1 in/ali $polje2 postane tako združeno, namesto $result zapiši ime tega polja, ali pa recimo, naj mi bog odpusti:
Precej laže te bomo sicer razumeli, če boš opisal, kakšen imaš input, in kakšen output želiš (torej, ne opisno, ampak konkretno zapiši polje, ki ga želiš dobiti ven) :).
$polje1 = array(1,2,3,4,5,6,7,8,7,6,5,4,3,2,1); $polje2 = array(1,3,9,10, 20, 50); $result = array_merge(array_unique(array_merge($polje1, $polje2)));
Prvi merge združi oba arraya. Unique pofiltrira tako, da ima zgolj edinstvene vrednosti. Drugi, zunanji merge (povsem opcijski), arrayu še poresetira index tako, da je lepo "po vrsti".
Če želiš, da $polje1 in/ali $polje2 postane tako združeno, namesto $result zapiši ime tega polja, ali pa recimo, naj mi bog odpusti:
$polje1 = $polje2 = array_merge(array_unique(array_merge($polje1, $polje2)));
Precej laže te bomo sicer razumeli, če boš opisal, kakšen imaš input, in kakšen output želiš (torej, ne opisno, ampak konkretno zapiši polje, ki ga želiš dobiti ven) :).
https://dolhar.si/
Zgodovina sprememb…
- spremenil: Ziga Dolhar ()
BigWhale ::
Ziga Dolhar je izjavil:
Če želiš, da $polje1 in/ali $polje2 postane tako združeno, namesto $result zapiši ime tega polja, ali pa recimo, naj mi bog odpusti:
$polje1 = $polje2 = array_merge(array_unique(array_merge($polje1, $polje2)));
Bog ti ne bi odpustil ne levega, ne srednjega in ne desnega dela med enacaji... ;>
matijaz74 ::
Ziga Dolhar je izjavil:
Če želiš kar mislim da želiš -
$polje1 = array(1,2,3,4,5,6,7,8,7,6,5,4,3,2,1);
$polje2 = array(1,3,9,10, 20, 50);
$result = array_merge(array_unique(array_merge($polje1, $polje2)));
Prvi merge združi oba arraya. Unique pofiltrira tako, da ima zgolj edinstvene vrednosti. Drugi, zunanji merge (povsem opcijski), arrayu še poresetira index tako, da je lepo "po vrsti".
Če želiš, da $polje1 in/ali $polje2 postane tako združeno, namesto $result zapiši ime tega polja, ali pa recimo, naj mi bog odpusti:
$polje1 = $polje2 = array_merge(array_unique(array_merge($polje1, $polje2)));
Precej laže te bomo sicer razumeli, če boš opisal, kakšen imaš input, in kakšen output želiš (torej, ne opisno, ampak konkretno zapiši polje, ki ga želiš dobiti ven) :).
Hvala ti za odgovor. Jaz ne mislim združevati dveh polj. No bom pa k obstoječemu primeru dodal naključno dodeljevanje index-a
$vrednost = rand(time(),sizeof($polje1));ter zamenjal velikost $polja2 iz sizeof($polje2) v 15. $polje1 je večje od $polja2. Rabim pa samo določene vrednosti iz $polja1.
Ok popravljam namesto
$polje[$n]=$vrednost;spreminjam v
$polje[]=$vrednost;
Hvala za odgovor.
lp
Matijaž
Matijaž
Zgodovina sprememb…
- spremenil: matijaz74 ()
BigWhale ::
Lej, glavni problem je to, da ne vemo kaj bi rad naredil. :> Tako ti bo tezko kdorkoli pomagal. :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | vba arrayOddelek: Programiranje | 923 (616) | Vazelin |
» | križci krožci c # (strani: 1 2 )Oddelek: Programiranje | 11880 (10539) | Yacked2 |
» | if(empty($_POST["vsa-polja"]))?Oddelek: Izdelava spletišč | 2597 (2212) | Housy |
» | php array in path določenega keya:Oddelek: Izdelava spletišč | 1350 (1178) | HardFu |
» | [Python] Polja, matrikeOddelek: Programiranje | 1778 (1670) | OwcA |