Umstellung auf php 7.1 :: Umstieg auf mysqli verpasst?
bearbeitet von Regina Schaukrug> > > Ich denke, Du hast ganz einfach was verpasst…
> > [...]
> >
> > oder Du etwas übersehen?
> >
> > ~~~php
> > while ($treffer= mysqli_fetch_object($result))
> > ~~~
>
> Ja. Du hast recht. Deshalb habe ich den Beitrag zwischenzeitlich geändert.
>
> > Einer (belegten) String-Variable ein Array zuzuweisen hat aber schon in PHP 5.x nicht funktioniert.
>
> Weist Du was? Das ist mir noch nie aufgefallen. Wahrscheinlich arbeite ich einfach zu sauber. Ich schau mir das jetzt mal an.
Aha. Es kommt auf das Wie an:
~~~php
<?php
error_reporting(E_ALL);
$t1='bar';
$t2='bar';
$t3='bar';
$t4='bar';
$t5='bar';
function getArr() {
return array('foo', 'bar');
}
$t1 = ['foo', 'bar'];
$t2 = getArr();
$t3 = json_decode(json_encode($t2));
$t4[0] = 'foo';
$t4[1] = 'bar';
$t5 = array();
$t5[0] = 'foo';
$t5[1] = 'bar';
echo "Fertig:\nt1:";
print_r($t1);echo "\nt2:";
print_r($t2);echo "\nt3:";
print_r($t3);echo "\nt4:";
print_r($t4);echo "\nt5:";
print_r($t5);echo "\n";
~~~
Sowohl in PHP als auch in hhvm keine Notiz - obwohl eigentlich eingeschaltet! Aber das hier: **(Fehlerhaftes Ergebnis ist bei t4)**
~~~
$ php /tmp/t.php
Fertig:
t1:Array
(
[0] => foo
[1] => bar
)
t2:Array
(
[0] => foo
[1] => bar
)
t3:Array
(
[0] => foo
[1] => bar
)
t4:fbr
t5:Array
(
[0] => foo
[1] => bar
)
~~~
Man kann also schon einer Variable, die einen String enthält, einen Array zuweisen. Nur eben nicht direkt Elemente eines Array adressieren, wenn der vermeintliche Array ein String ist.