it-swarm.com.de

PHP Unterschied zwischen array () und []

Ich schreibe eine PHP App und möchte sicherstellen, dass sie fehlerfrei funktioniert.

Der ursprüngliche Code:

<?php
$data = array('name' => 'test',
              'id'   => 'theID');

echo form_input($data);
?>

Funktioniert das Folgende fehlerfrei oder wird es aus irgendeinem Grund nicht empfohlen?

<?= form_input(['name' => 'test', 'id' => 'theID']); ?>

Gibt es einen Unterschied?

Ich habe mir die Daten über array() und die kurze Array-Methode mit eckigen Klammern [] in PHP.net noch einmal angesehen, bin mir aber nicht sicher.

Und auch, ist das kurze PHP-Tag <?= ?> für das Echo geeignet? Gibt es ein Versionsproblem? (vorausgesetzt, es ist in php.ini aktiviert)

115
Mr.Web

Folgendes [] wird in PHP> = 5.4 unterstützt:

['name' => 'test', 'id' => 'theID']

Dies ist nur eine kurze Syntax und in PHP <5.4 wird es nicht funktionieren .

185
The Alpha

Ab 2019 ist es 7 Jahre her, dass die [] -Syntax hinzugefügt wurde. Das ist meiner Meinung nach lang genug, um array() außer in alten Legacy-Programmen fallen zu lassen.

6
David Spector

Wenn Sie 5.3 oder eine frühere Version verwenden, können Sie [] nicht als Array sowie als assoziatives Array verwenden. Wenn Sie 5.4 oder eine neuere Version von PHP verwenden, können Sie entweder array() oder [] verwenden, um ein Array, ein assoziatives Array oder sogar ein multidimensionales Array zu erstellen.

2
Abdul Barik

Mit PHP 7.2 scheint es mir dann eher so zu sein, dass ich ein Array bin. Der Unterschied liegt zwischen {} und []. Mein Code

<p>
  <label for="post_category"> Cat 1 </label>
  <input type="checkbox" name="post_category{first}" value="cat1">
  <br />
  <label for="post_category{second}"> Cat 2 </label>
  <input type="checkbox" name="post_category" value="cat2">
</p>
0
Mahad Ali