Jump to content


Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

[ROZWIĄZANE] Tablice w funkcji

PHP php

  • This topic is locked This topic is locked
8 replies to this topic

#1 ZepA***

    Zaawansowany

  • Użytkownik

  • Reputacja: 24
    Życzliwy

  • Postów:136
  • Steam:steam
  • Lokalizacja:Walce
Offline

Posted 11.12.2011 18:31

Siemka

Mam pytanie.
Chcę się zapytać czy da się przenosić tablice między funkcjami.

Otóż stworzyłem jakąś funkcję, a wewnątrz niej tablicę i zmienną.

function mojafunkcja(){
$tablica[.....]
$zmienna = 31;
}


I chciałbym te dane co są w tablicy i zmiennej przeniesc do nastepnej funkcji


function mojafunkcja(){
$tablica[.....]
$zmienna = 31;
mojafunkcja2($tablica, $zmienna)
}

function mojafunkcja2($tablica, $zmienna){
....
}


I właśnie w tym jest pewien problem, bo nie wiem jak przeniesc tą tablice dalej.
Dobrze to zrobilem?
proszę o wyjaśnienie jak to zrobic

Edited by ZepA***, 11.12.2011 18:31.

  • +
  • -
  • 0

Dołączona grafika
------------------------------------
Dołączona grafika


#2 Gh0st

    :)

  • Power User

  • Reputacja: 852
    Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Posted 11.12.2011 18:39

oczywiście...
Argument w drugiej funkcji deklarujesz jako array czyli

function mojafunkcja2(array $tablica, $zmienna)


function mojafunkcja(){
$tablica[.....]
$zmienna = 31;
mojafunkcja2($tablica, $zmienna)
}

function mojafunkcja2(array $tablica, $zmienna){
....
}

  • +
  • -
  • 2

#3 ZepA***

    Zaawansowany

  • Autor tematu
  • Użytkownik

  • Reputacja: 24
    Życzliwy

  • Postów:136
  • Steam:steam
  • Lokalizacja:Walce
Offline

Posted 11.12.2011 18:54

Ok dzięki.
Mam jeszcze 1 pytanko.
Nie wiem czy musze osobny temat robic. na razie napisze tutaj. Mam taki kod:

function zadanieliczbaprzedmiotow()
{
$liczbaprzedmiotow = 0;
if (empty($_POST['submit']))
{
echo
"<table border=\"0\"><form method=\"post\">
<tr>
<td><font color=\"white\">Liczba przedmiotow:</font></td>
<td><input type=\"text\" name=\"liczbaprzedmiocikow\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type=\"submit\" name=\"submit\" value=\"Dalej\">&nbsp;</form>
</tr>
</form>
</table>";
}
elseif (!empty($_POST['liczbaprzedmiocikow']))
{
$liczbaprzedmiotow = $_POST[liczbaprzedmiocikow];
}
else
{
echo '<span style=\"color: #FF0000; text-align: center;\"><font color="red">Nie wpisales zadnej liczby!</font></span>';
}
nazwyprzedmiotow($liczbaprzedmiotow);
}
function nazwyprzedmiotow($liczbaprzedmiotow)
{
$nazwyprzedmiotow[$liczbaprzedmiotow+1];
$i=0;
if (empty($_POST['submit']))
{
echo "<table border=\"0\"><form method=\"post\">";
while($i < $liczbaprzedmiotow)
{
$liczbaa = $i+1000;
$i++;
echo
"<tr>
<td><font color=\"white\">Przedmiot nr $i:</font></td>
<td><input type=\"text\" name='$liczbaa' style=\"width: 250px\"></td>
</tr>";
}
echo
"<tr>
<td>&nbsp;</td>
<td><input type=\"submit\" name=\"submit\" value=\"Dalej\">&nbsp;
<input type=\"reset\" value=\"Wyczy&#347&#263 wszystko\"></td></form>
</tr>
</table>";
}
elseif (!empty($_POST['1000']) && !empty($_POST['1001']) && !empty($_POST['1002']))
{
$iii=0;
while($iii < $liczbaprzedmiotow)
{
$liczbaaa = $iii + 1000;
$iii++;
$nazwyprzedmiotow[$iii] = $_POST[$liczbaaa];
}
$ii=0;
while($ii < $liczbaprzedmiotow)
{
$liczbaa = $ii+1;
$ii++;
echo ("<font color=\"green\">Przedmiot nr $liczbaa: $nazwyprzedmiotow[$ii]</font><br/>");
}
}
}

Jednak kiedy wpisze tą liczbę przedmiotów to funkcja nazwyprzedmiotow($liczbaprzedmiotow) nie chce się wykonać.
Wiecie dlaczego?
  • +
  • -
  • 0

Dołączona grafika
------------------------------------
Dołączona grafika


#4 G[o]Q

    I'm G[o]Q

  • Przyjaciel

  • Reputacja: 1,344
    Godlike

  • Postów:3,563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Posted 11.12.2011 18:56

prawde mowiac to twój sposob zadziała ale po wykonaniu funkcji wartosci w tablicy ani wartosc zmiennej 'zmienna' się nie zmieni ponieważ w funkcji 2 zostaną utworzone lokalne kopie zmiennych i na kopiach bedzie funkcja operować(argumenty formalne i aktualne) poczytaj o referencji zwykle wystarczy dodac '&' przed nazwą zmiennej i wtedy przesylany fo funkcji jest adres zmiennej i lokalna kopia ma adres parametru aktualnego
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#5 -PainKiller-

    Wszechobecny

  • Zbanowany

  • Reputacja: 66
    Pomocny

  • Postów:498
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Kraków
Offline

Posted 11.12.2011 19:45

albo zdeklarować zmienne globalne
$zmienna = "globalna";
function przyklad(){
global $zmienna;
echo $zmienna;
}
function lokal(){
echo $zmienna;
}
przyklad(); lokal();


#6 G[o]Q

    I'm G[o]Q

  • Przyjaciel

  • Reputacja: 1,344
    Godlike

  • Postów:3,563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Posted 11.12.2011 21:53

mozna tez globalną tylko po co :?: przeciez funkcje mogą miec argumenty :P
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#7 -PainKiller-

    Wszechobecny

  • Zbanowany

  • Reputacja: 66
    Pomocny

  • Postów:498
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Kraków
Offline

Posted 12.12.2011 10:04

podałem tylko alternatywę do twojego sposobu. nie wiedziałem że funkcje mogą mieć argumenty, musze o tym poczytać ale nie wiem gdzie :>

#8 ZepA***

    Zaawansowany

  • Autor tematu
  • Użytkownik

  • Reputacja: 24
    Życzliwy

  • Postów:136
  • Steam:steam
  • Lokalizacja:Walce
Offline

Posted 14.12.2011 21:08

Z tymi tablicami już sobie poradniłem. Jednak nadal mam ten problem, bo nie wywołuje się ta funkcja.
Wie ktos jak to naprawic?

PS. Jezeli nie pasuje ten temat do tego dzialu to przeniescie do dzialu problemy

@EDIT
Juz sobie poradzilem :)

Mozna zamknąć

Edited by ZepA***, 14.12.2011 21:09.

  • +
  • -
  • 0

Dołączona grafika
------------------------------------
Dołączona grafika


#9 MarWit

    The Chosen One

  • Przyjaciel

  • Reputacja: 843
    Czempion

  • Postów:1,485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Posted 14.12.2011 21:35

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

marwit-0.png





  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In