Skocz do zawartości

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

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

[ROZWIĄZANE] Tablice w funkcji

PHP php

  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 ZepA***

    Zaawansowany

  • Użytkownik

Reputacja: 24
Życzliwy

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

Napisano 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

Użytkownik ZepA*** edytował ten post 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

Napisano 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

Napisano 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

Napisano 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

Napisano 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

Napisano 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

Napisano 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

Napisano 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ąć

Użytkownik ZepA*** edytował ten post 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

Napisano 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, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


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

marwit-0.png






Również z jednym lub większą ilością słów kluczowych: PHP, php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych