phpbar.de logo

Mailinglisten-Archive

[php] Hilfe mit array Verhalten: V4.2.3 vs V4.3.0

[php] Hilfe mit array Verhalten: V4.2.3 vs V4.3.0

Sebastian Tobias Mendel genannt Mendelsohn lists at sebastianmendel.de
Mon Dez 1 19:22:44 CET 2003


> Bin gerade etwas verwirrt, es geht um folgenden - gekürzten - code:
> 
> //Kategorien
> $cats[0][0] = "monthly";
> $cats[1][0] = "party";
> $cats[2][0] = "elektro";
> $cats[3][0] = "jazz";
> $cats[4][0] = "live";
> 
> $cats_max = count($cats);
> $updatestring = "";
> 
> for($mysci=0;$mysci<$cats_max;$mysci++) {
>    if(debug >= 1) echo "<br>".$_REQUEST['cats'][$mysci];
>    $cats[$mysci][1] = $_REQUEST['cats'][$mysci];
>    if($mysci != 0) $updatestring .= ", ";
>    $updatestring .= $cats[$mysci][0]."='".$cats[$mysci][1]."'";
> }
> echo "<br>".$updatestring;
> 
> das führt zu folgendem Ergebnis:
> 
> a) lokal, Win32, php 4.3.0
> monthly='1', party='1', elektro='1', jazz='0', live='1'
> 
> b) Provider, Linux, php 4.2.3
> m='1', p='1', e='1', j='1', l='1'
> 
> Ich würde das lokale Ergebnis mal als zu erwarten bezeichnen, weiss 
> jemand warum sich das beim Provider nicht so verhält? Liegt das an den 
> Versionen oder an was sonst? *Verwirrung*

mhm, eventuell nen bug, probiers halt mal anders:

//Kategorien
$_cats[0] = "monthly";
$_cats[1] = "party";
$_cats[2] = "elektro";
$_cats[3] = "jazz";
$_cats[4] = "live";

foreach ( $_cats as $key => $val )
{
   $updatestring .= ',' . $val . ' = "' . $_REQUEST['cats'][$key]
}
$updatestring = substr($updatestring, 1);


p.s. wenn 'debug' eine Konsatnte ist solltest du sie groß schreiben, 
also DEBUG (noch besser: MY_DEBUG), damit man sie auch als solche 
erkennt, wenn nicht, dann fehlt da ein $.


-- 
Sebastian Mendel (www.sebastianmendel.de)

*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com

php::bar PHP Wiki   -   Listenarchive