php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.05.2005, 12:11  
Gast
 
Beiträge: n/a
Standard mit foreach werte im array ändern...

hoi,

hab ne sql abfrage und stopf alle meine werte in ein array, hier mal ein beispiel wie das array aussieht:

PHP-Code:
<?php
...

$data[0][1] = "irgendwas";
$data[0][2] = 23551315// Timestamp
$data[1][1] = "irgendwas";
$data[1][2] = 16841315// Timestamp
$data[2][1] = "irgendwas";
$data[2][2] = 24521315// Timestamp

foreach($data as $value) {

 echo 
$value[2]; // Der Timestamp!
 
$value[2] = date("d.m.Y",$value[2]);
 echo 
$value[2]; // Hier das formatierte Datum

}

print_r($data); 
// Warum wird mir wieder der Timestamp ausgegeben,
// und nicht das neue formatierte Datum?

...
?>
Ich möchte also bei dem Durchlauf den Wert des Timestamps durch ein formatiertes Datum ersetzen. Könnt ihr mir sagen warum das nicht klappt?

biba, dyvor
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.05.2005, 12:18  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

warum sollte das auch funktionieren? du weist doch nirgends dem array neue werte zu?
__________________
derHund ist offline  
Alt 10.05.2005, 12:21  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
$value
[2] = date("d.m.Y",$value[2]); 
?>
wie solls sonst funktionieren? *nixpeil*
 
Alt 10.05.2005, 12:24  
Gast
 
Beiträge: n/a
Standard

wenn du das neue date() dem $value array zuweist dann must du auch print_r($value) ausgeben lassen und ned §data.....
mei o mei...

robo und die anderen würden dir so ne frage gar ned beantworten.....
 
Alt 10.05.2005, 12:31  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Julied64
mei o mei...

robo und die anderen würden dir so ne frage gar ned beantworten.....

phpfriend.de Foren-Übersicht -> PHP - Anfänger
 
Alt 10.05.2005, 12:34  
Gast
 
Beiträge: n/a
Standard

lol...
was willste damit sagen?
das du diesen mist fragen darfst weil du anfänger bist?
sind wir hier für dich zuständig?
das du die richtigen vars setzt?
nö..
sicher ned...
ich wäre zur sau gemacht worden...
und wie ich etz an deinem beispiel sehe vollkommen zurecht....
!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
 
Alt 10.05.2005, 12:37  
Gast
 
Beiträge: n/a
Standard

ey lol julied, du hast hier schon viel tollere fragen gestellt, also tu mal net so...
 
Alt 10.05.2005, 12:39  
Gast
 
Beiträge: n/a
Standard

deswegen sag ich ja das SIE recht hatten mich deswegen blöd anzumachen.....
 
Alt 10.05.2005, 13:12  
Gast
 
Beiträge: n/a
Standard

Weiss garnicht, was Du hast. Die Frage ist doch gut.
foreach($arr as $element): ist $element automagisch eine Referenz* auf das Element, sprich: schlagen sich Änderungen an $value auf das Element in $arr durch?
Wie bereits gemerkt, ist das wohl nicht der Fall.

foreach($arr as $key=>$element): Bei dieser Form hat man die Information, wie das jeweilige Element in $arr 'angesprochen' werden kann.
In den bisherigen Versionen von php ist es erlaubt, das aktuelle Element im Feld zu ändern, ohne die weitere Verarbeitung der Schleife zu beeinflussen. Ob das eine zugesicherte Eigenschaft ist, weiss ich allerdings nicht.
PHP-Code:
<?php
$data
[0][1] = "irgendwas";
$data[0][2] = 23551315// Timestamp
$data[1][1] = "irgendwas";
$data[1][2] = 16841315// Timestamp
$data[2][1] = "irgendwas";
$data[2][2] = 24521315// Timestamp

foreach($data as $key=>$value) {
    
// $value wurde der Wert von $data[$key] zugewiesen
    
$data[$key][2] = date("d.m.Y"$value[2]);
}

print_r($data);
?>
Bei array_walk() ist das Verhalten zugesichert (jedenfalls laut Doku)
PHP-Code:
<?php
$data
[0][1] = "irgendwas";
$data[0][2] = 23551315// Timestamp
$data[1][1] = "irgendwas";
$data[1][2] = 16841315// Timestamp
$data[2][1] = "irgendwas";
$data[2][2] = 24521315// Timestamp

function ts2date(&$value$key)
{
    
$value[2] = date('d.m.Y'$value[2]);
}

array_walk($data'ts2date');

print_r($data);
?>
siehe auch: http://php.net/array_walk

Ebenfalls zugesichert ist das Verhalten bei array_map
PHP-Code:
<?php
$data
[0][1] = "irgendwas";
$data[0][2] = 23551315// Timestamp
$data[1][1] = "irgendwas";
$data[1][2] = 16841315// Timestamp
$data[2][1] = "irgendwas";
$data[2][2] = 24521315// Timestamp

function ts2date($value)
{
    
$value[2] = date('d.m.Y'$value[2]);
    return 
$value;
}

$dataResult array_map('ts2date'$data);

print_r($dataResult);
?>
ist aber in diesem Fall ein bitzili inperformanter, da nicht die alten Daten überschrieben werden, sondern ein komplett neues Feld mit neuen Werten und allem, was damit an Verwaltung/Speicher zusammenhängt, erstellt wird.
siehe auch: http://php.net/array_map


------
*Beispiel für Referenz:
PHP-Code:
<?php
$a 
= array('a''b');
$b $a;
$b[1] = 'c';
print_r($a);

/* -------- */

$a = array('a''b');
$b = &$a;  // Zuweisung einer Referenz
$b[1] = 'c';
print_r($a);
?>
siehe auch: http://php.net/language.references
 
Alt 10.05.2005, 13:26  
Gast
 
Beiträge: n/a
Standard

Danke VolkerK
 
 


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
foreach verändert die werte des arrays das durchlaufen wird Crypi PHP Tipps 2007 5 10.01.2007 08:24
array oder mehrere werte als rückgabe PHP Tipps 2006 17 02.03.2006 21:27
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
Alle Werte eines Array mischen PHP Tipps 2005-2 2 28.07.2005 17:37
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
[Erledigt] $_SESSION: Array Werte werden nicht gespeichert. PHP-Fortgeschrittene 11 11.05.2005 23:13
[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
Werte im Array ablegen und mitnehmen ??? PHP Tipps 2004 2 10.09.2004 14:35
werte einer tabelle mit werten einem array vergleichen PHP Tipps 2004 1 08.07.2004 21:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php foreach array ändern, php foreach werte ändern, foreach array verändern, http://www.php.de/php-tipps-2005/22748-mit-foreach-werte-im-array-aendern.html, foreach array ändern, foreach array wert ändern, php foreach ändern, php array ändern foreach, php foreach array verändern, php array foreach wert ändern, php array foreach ändern, php foreach bearbeiten, php foreach daten ändern, php foreach array werte ändern, php foreach wert ändern, foreach wert ändern, foreach ändern, php array in foreach ändern, php array wert ändern, datumswerte in einem array ändern

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:29 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.