Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> :unsure: array gibt fehler zurück !
ThePosterity
Geschrieben am: Do 12.04.2007, 22:16
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 76
Mitglied seit: 21.02.2006


<?PHP
$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
$count = array_count_values($haus);
echo "<br>".$haus($count);
?>

Warum funktioniert das nicht ?:unsure:Bitte helft mir !

Da sollte doch das letzte array ausgegeben werden ?Aber tut es es nicht sad.gif
Top
PMEmail Poster
Top
 
 
MarkusH
#2 Geschrieben am: Do 12.04.2007, 22:49 (+00:32)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 79
Mitglied seit: 2.11.2006


array_count_values() gibt ein Array zurück, in dem die Werte des Arrays input als Schlüssel, und deren Anzahl als Werte angegeben sind. (function:array_count_values)

Mir ist nicht ganz klar, was Du erreichen willst. Aber vielleicht hilft Dir die Funktion array_pop
Top
PM
Top
 
ThePosterity
#3 Geschrieben am: Do 12.04.2007, 23:03 (+00:13)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 76
Mitglied seit: 21.02.2006


so hab es geändert:

<?PHP
$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
$count = count($haus);
echo "<br>".$count;
?>

da gibt php ja 3 aus .

<?PHP
$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
$count = count($haus);
echo "<br>".$haus($count);
?>

da sollte das 3te array angezeigt werden da $count ja 3 ist ???

<?PHP

$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
$count = count($haus);
echo "<br>".$haus($count-1);
?>

da sollte das vorletzte ausgeben werden aber tut es nicht ???
ich kapier das nicht sad.gif
Top
PMEmail Poster
Top
 
Maik
power-labels AG
#4 Geschrieben am: Do 12.04.2007, 23:16 (+00:13)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 485
Mitglied seit: 16.03.2006


man verwendet bei Array-Adressierungen eckige Klammern. Runde Klammern gibt's nur bei Funktionsdefinitionen und Funktionsaufrufen, daher Versucht PHP in deinem Script ne Funktion aus der Variablen zu machen, was aber nicht funktioniert. Richtig wäre es so:

CODE

$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
$count = count($haus);
echo "<br>".$haus[$count-1];


allerdings funktioniert das in deinem Fall nicht, weil deine Indizes keine Zahlen von 0 bis $count sind, sonder Wörter (holz, stein, bauzeit).

Die Einfachste Lösung wäre:

CODE

$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
echo "<br>".array_pop($haus);


geht aber nur wenn du den Array nach diesem Codeschnippsel nicht mehr komplett benötigst... denn der letzte Eintrag wurde entfernt

So geht es generell, ohne den Array zu beeinflussen:

CODE

$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');
print_r($haus);
$schluessel = array_keys($haus);
echo "<br>".$haus[array_pop($schluessel)];


gibt dafür noch ein dutzend weiter Wege... zB. mit foreach, while, list usw...


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
1 Monat später...
bowling-liga
#5 Geschrieben am: Di 22.05.2007, 13:40 (+1m )
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 66
Mitglied seit: 16.05.2007


Vielleicht hilft das ja hier, um in die Thematik einzusteigen ...

CODE

<?php

$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');

# den Wert des letzten Items des Arrays ausgeben
echo end($haus) . "<br>\n";

# immer Wert des letzten Items des Arrays ausgeben (Stack)
while($haus) {
   echo array_pop($haus) . "<br>\n";
}

# allerdings ist das Array jetzt leer, sodass man es neu
# initialisieren muss :-(
$haus = array('holz' => '10','stein'=>'100','bauzeit'=>'1000');

# besser ist es dann so
foreach($haus as $key => $value) {
   echo $key . ": " . $value . "<br>\n";
}

# oder so, wenn es rueckwaerts sein muss
foreach(array_reverse($haus) as $key => $value) {
   echo $key . ": " . $value . "<br>\n";
}

?>


Arrays zu benutzen ist eigentlich nicht schwer. In PHP ist es nur so, dass mehrere Datentypen allgemein zum Array-Typ zusammengefasst sind. In Python gibt es beispielsweise list, tuple und dictonary. Diese Typen haben zwar aehnliche Methoden, unterscheiden sich jedoch wiederum in einigen wichtigen Details stark voneinander.

den


--------------------
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/17821

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Shell-Fehler G.P. 87 4 Fr 28.11.2008, 12:34
Diskussion: Gibt es AdSense-Alternativen? Ayom-Team 6878 45 Do 6.11.2008, 18:08
PHP: session_start() blockiert $_FILES-Array Guentor Netzor 130 1 Do 6.11.2008, 09:23
Fehler auf meiner Seite im IE? Christian 100 3 Fr 24.10.2008, 10:23
php Array Problem kekskruemel 158 5 Di 14.10.2008, 22:36
Pendlerpauschale zurück fordern littlefish 118 1 Sa 13.09.2008, 06:51
Fehler: #1265 Data truncated for column 'sp ... BartTheDevil89 555 8 Mi 6.08.2008, 23:13
Diskussion: Wo gibt es gratis Schriften (fonts)? Ayom-Team 2402 9 Do 3.07.2008, 13:08




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]