String durch eine Variable in PHP ersetzen

Ich habe folgenden Code in meinem Plugin von WordPress:

wp_localize_script('ffd_js_script', 'myAjax', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'idinfo' => $myoptionValue[idinfo], 'index1' => $myoptionValue[id1], 'index2' => $myoptionValue[id2] ) ); 

Ich möchte ersetzen

 'index1' => $myoptionValue[id1], 'index2' => $myoptionValue[id2] 

mit

 for($i=1; $i'.$myoptionValue[id.$i]; } 

Das habe ich

  wp_localize_script('ffd_js_script', 'myAjax', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'idinfo' => $myoptionValue[idinfo] $arguments ) ); 

Anscheinend denke ich, dass es so einfach sein könnte, aber es ist nicht, wo ist mein Fehler?

BEARBEITEN:

vollständiger Code:

 require( plugin_dir_path( __FILE__ ) . 'menu.php'); require_once( plugin_dir_path( __FILE__ ) . 'getuser.php'); add_action( 'wp_enqueue_scripts', 'ffd_load_scripts' ); function ffd_load_scripts() { $myoption = get_option( 'fixformdata_options' ); $myoptionValue = maybe_unserialize( $myoption ); $arguments = array(); for($i=1; $i admin_url('admin-ajax.php'), 'idinfo' => $myoptionValue['idinfo']),$arguments) ); wp_enqueue_script('jquery'); wp_enqueue_script('ffd_js_script', plugin_dir_url(__FILE__) . 'js/ffd_js_script.js'); 

}

Solutions Collecting From Web of "String durch eine Variable in PHP ersetzen"

Es gibt vier gültige Möglichkeiten zum Definieren einer Zeichenfolge. Weitere Informationen finden Sie in dieser Frage.

In Ihrem Fall gibt es jedoch eine spezielle Ausnahme von PHP. Die meisten Benutzer sind sich dessen jedoch nicht bewusst und hinterlassen Unklarheiten, da es nicht mehr möglich ist, ein String-Literal, eine Konstante oder eine Definition zu unterscheiden, was es anderen Programmierern sehr schwer macht, Ihren Code zu lesen (zB Sie selbst in 9 Monaten) Zeit ).

Also dein Code:

 for($i=1; $i< = $myoptionValue[fieldcount]; $i++) { $arguments .= ',"index"'.$i.'=>'.$myoptionValue[id.$i]; } 

Versucht, eine Zeichenfolge an das Ende eines Arrays anzuhängen, was nicht funktioniert. Arrays sind keine Zeichenfolgen und Sie können nur die Zeichen .= Und verwenden . Operatoren für Strings. Auch $myoptionValue[id.$i] verletzt die Sonderfall-Situation, da der Ausdruck jetzt mehrdeutig ist (bedeutet es “ID. $ I”, “ID”. $ I oder “ID. $ I”?)

Um ein Element zu einem Array hinzuzufügen, müssen Sie einen der folgenden Schritte ausführen:

 $arr = array(); $arr['key'] = 'value'; $arr[] = 'value without a key'; array_push( $arr, 'value1', 'value2', 'value3', etc... ); 

Also sollte deine Schleife sein:

 for ( $i=1; $i < = $myoptionValue['fieldcount']; $i++ ) { $arguments['index'.$i] = $myoptionValue['id'.$i ]; }