Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] funkcja array_keys i zmienne w klasach
Zdunek
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 2
Dołączył: 29.08.2008

Ostrzeżenie: (0%)
-----


Witam

Robię sobie mały portal na bazie IPB
oto funkcja klasy
  1. <?php
  2. public function exist($id){
  3.    $exist=strip_tags($id);
  4.    $idzapytania = mysql_query(&#092;"SELECT `forum_id` FROM `ipb_topics` WHERE `tid`='\".$exist.\"'\");
  5.    $wiersz = mysql_fetch_row($idzapytania);
  6.    if ( array_keys($news[$lang],7) || array_keys($arts[$lang],7))
  7.    {
  8.        echo 'Element istnieje w tablicy!';
  9.    }
  10.    else
  11.    {
  12.    echo &#092;"nie ma takiego elementu\";
  13.    }
  14.    return $wiersz[0];
  15.    }
  16. ?>

przy wywołaniu funkcji wywala mi taki błąd
Warning: array_keys() [function.array-keys]: The first argument should be an array in C:\xampp\htdocs\test\poziomkaciecie\php\model\classes\class.np.php on line 61

Warning: array_keys() [function.array-keys]: The first argument should be an array in C:\xampp\htdocs\test\poziomkaciecie\php\model\classes\class.np.php on line 61
nie ma takiego elementu6

tablica asocjacyjna dwuwymiarowa $news i $arts jest stworzona poza klasą i jest wczytana przed wywołaniem funkcji
podobnie jak zmienna $lang

Z góry dzięki za pomoc

Ten post edytował Zdunek 19.11.2008, 19:43:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zdunek
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 2
Dołączył: 29.08.2008

Ostrzeżenie: (0%)
-----


zmieniłem na
if (array_key_exists(7,$news[$lang]) || array_key_exists(7,$arts[$lang]))
i teraz wywala błąd
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in C:\xampp\htdocs\test\poziomkaciecie\php\model\classes\class.np.php on line 61

Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in C:\xampp\htdocs\test\poziomkaciecie\php\model\classes\class.np.php on line 61

tablice $news i $arts są takie
$news = array(array());
$arts = array(array());
$news["pl"][0]=6;
$arts["pl"][0]=7;


Edit:
Wcześniej sobie robiłem w jednym pliku php bez klasy
  1. <?php
  2. $news = array(array());
  3. $arts = array(array());
  4. $lang=&#092;"en\";
  5. $news[&#092;"pl\"][0]=6;
  6. $news[&#092;"en\"][0]=7;
  7. $arts[&#092;"en\"][0]=7;
  8.  
  9.    $array = Array('' => 'abc', 'b' => 'bcd');
  10.  
  11.    if ( array_keys($news[$lang],7) )
  12.    {
  13.        echo 'Element istnieje w tablicy!';
  14.    }
  15.    else
  16.    {
  17.    echo &#092;"nie ma takiego elementu w tablicy\";
  18.    }
  19. ?>

i dobrze sprawdzało czy jest w tablicy asocjacyjnej, dwuwymiarowej, z indexem pierwszym o zmiennej $lang jest gdzieś 7
przy array_key_exists to już niestety nie działa

więc array_keys jest dobrą w tym przypadku metodą, lecz niestety jest coś nie tak z odwołaniem do zmiennych z poza klasy...

Edit2: przy użyciu in_array w jednym pliku php działa jak array_keys lecz przy klasie także wywala błąd
Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\xampp\htdocs\test\poziomkaciecie\php\model\classes\class.np.php on line 61

Ten post edytował Zdunek 20.11.2008, 13:41:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 21:23