Ich schreibe eine PHP-App und möchte sicherstellen, dass sie fehlerfrei funktioniert.
Der Originalcode:
<?php
$data = array('name' => 'test',
'id' => 'theID');
echo form_input($data);
?>
Würde das Folgende fehlerfrei funktionieren oder wird es aus irgendeinem Grund nicht empfohlen?
<?= form_input(['name' => 'test', 'id' => 'theID']); ?>
Gibt es einen Unterschied?
Ich habe mir die Daten array()
und die Short-Array-Methode mit eckigen Klammern []
in PHP.net noch einmal angesehen, bin mir aber nicht sicher.
Und ist das kurze PHP-Tag auch <?= ?>
gut für das Echo? Gibt es ein Versionsproblem? (vorausgesetzt, ist in php.ini aktiviert)
php
arrays
syntax
square-bracket
Mr.Web
quelle
quelle
Antworten:
Folgendes
[]
wird in PHP> = 5.4 unterstützt:Dies ist nur eine kurze Syntax und in PHP <5.4 funktioniert sie nicht .
quelle
$data = new stdClass();$data->someProp = 'someValue';
Verwendung derPHP
Standardklasse und$obj = (object) ['foo'=>'bar', 'baz'=>'biz'];
die Konvertierung eines Arrays (mit expliziter Typumwandlung) in ein Objekt (stdClass) verwenden, aber in Bezug auf das{}
könnte es in Zukunft implementiert werden, aber nicht sicher, ob :-)Ab 2019 sind 7 Jahre vergangen, seit die
[]
Syntax hinzugefügt wurde. Das istarray()
meiner Meinung nach lang genug, um außer in alten Legacy-Programmen zu fallen .quelle
Wenn Sie 5.3 oder eine frühere Version verwenden, können Sie diese nicht
[]
als Array sowie als assoziatives Array verwenden. Wenn Sie PHP 5.4 oder höher verwenden, können Sie entwederarray()
oder[]
ein Array, ein assoziatives Array oder sogar ein mehrdimensionales Array erstellen.quelle
Und was den
<?= ?>
Teil der Frage betrifft: Es wird größtenteils nicht verpönt, zumindest nicht im Jahr 2019.<?php
und<?=
Tags.quelle
Mit PHP 7.2 scheint es mir eher als [Ich bin ein Array] {Ich bin ein Array scheint zu funktionieren}. Der Unterschied ist zwischen
{}
und[]
. Mein Codequelle