php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.07.2004, 18:42  
Gast
 
Beiträge: n/a
Standard Warnung bei shuffle() trotz Array

Hallo!

Ich habe in der Variablen $id ein Array
Code:
 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
stehen. Nun bringe ich es mit
Code:
 shuffle($id);
durcheinander. Das klappt ohne Probleme aber manchmal kommt folgende Warnung:

Code:
 Warning: shuffle() expects parameter 1 to be array, null given in C:\Inetpub\wwwroot\php\pro\admin\mache_was.php on line 79
Warum? Was ist da falsch? Auch bei einer Warnung wird mir nachher das sortierte Array angezeigt.

Danke.

MfG
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.07.2004, 18:56  
Gast
 
Beiträge: n/a
Standard

Entweder wird $id nicht richtig als Array initialisiert oder $id wird nach der Initialisierung überschrieben. Was es nun wirklich ist, keine Ahnung.

Gruß
phpfan
 
Alt 26.07.2004, 18:57  
Gast
 
Beiträge: n/a
Standard

Dürfte beides nicht sein, da ich ja direkt vor shuffle() die Ausgabe mit print_r($id) mache und dort noch alles okay ist.
 
Alt 26.07.2004, 19:08  
Gast
 
Beiträge: n/a
Standard

PHP ist aber da ganz anderer Meinung, aber ohne den Quellcode zu sehen, kann ich da auch nichts zu sagen. Was kommt denn hierbei raus:
PHP-Code:
<?
  $id 
= array(1,2,3,4,5,6,7,8,9,0);

  
shuffle($id);

  
print_r($id)
?>
Gruß
phpfan
 
Alt 27.07.2004, 09:24  
Gast
 
Beiträge: n/a
Standard

Hallo!


Hier mal ein größerer Codeausschnitt.
PHP-Code:
for ($i 0$i mysql_num_rows($ergebnis); $i++)
{
 
$row mysql_fetch_array($ergebnis);
 
$id[] = $row['id'];
}
print_r($id); //korrektes Array, auch bei Warnung!!
$sl false;
while (!
$sl)
{
   
 
shuffle($id); 
 
print_r($id); //korrektes Array, auch bei Warnung!! 

 //SQL-Abfrage

 
if (mysql_num_rows($ergebnis)==0)
 {
  
$sl=true;
 }

Für mich ist die ab und zu einmal auftretende Warnung unerklärlich!

MfG
 
Alt 27.07.2004, 09:56  
Gast
 
Beiträge: n/a
Standard

$id einmal unkonditional als Feld markieren.
In Deinem code-Ausschnitt ist nicht zu erkennen, ob Du das tust.
Wenn nicht, erzeugt php beim ersten Schleifendurchlauf bei $id[] = $row['id']; eine Warnung, da $id nicht definiert ist, setzt es dann aber auf den Typ array.
Wird die Schleife aber nicht durchlaufen -weil die Abrfrage keine Datensätze zurückliefert- bleibt $id undefiniert. Beim Aufruf von shuffle() erzeugt das wieder eine Warnung, aber php nimmt dann für $id den Wert null an. Und shuffle(null); liefert genau die angegebene Warnung. Wenn Du allerdings diese siehst, solltest Du auch die vorangegangenen sehen und die Ausgabe sollte dann auch anders sein - aber print_r gibt bei null nichts aus; Du könntest es also übersehen haben.
PHP-Code:
$id = array();
for (
$i 0$i mysql_num_rows($ergebnis); $i++)
{
    
$row mysql_fetch_array($ergebnis);
    
$id[] = $row['id'];
}

print_r($id); //korrektes Array, auch bei Warnung!!

$sl false;
while (!
$sl)
{
    
shuffle($id);
    
print_r($id); //korrektes Array, auch bei Warnung!!
    //SQL-Abfrage
    
if (mysql_num_rows($ergebnis)==0)
        
$sl=true;

 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
shuffle() expects parameter 1 to be array, null given in, shuffle() expects parameter 1 to be array, warning: shuffle() expects parameter 1 to be array, null given in, warning: shuffle() expects parameter 1 to be array, null given, shuffle() expects parameter 1 to be array, null given, php warning: shuffle() expects parameter 1 to be array, null given in, fortgeschritten shuffle, php warning: shuffle() expects parameter 1 to be array, null given, php array shuffle, array shuffle, php warning: shuffle() expects parameter 1 to be array, null given in c, php felder dimensionen shuffle, php shuffle zu sclecht, php array_shuffle(), warning: shuffle() expects parameter 1, shuffle bei mehrdimensinalem array, shuffle bei mehrdimensionalen array, warning: shuffle() expects parameter 1 to be array, warning: shuffle() expects parameter 1 to be array,, shuffle array abarbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.