Zwei Antworten
1. Beantworten Sie die gestellte Frage.
2. Eine einfache Änderung ist ein besserer Weg!
Antwort 1 - Übergeben Sie das Vars-Array an __construct () in einer Klasse. Sie können das Konstrukt auch leer lassen und die Arrays stattdessen über Ihre Funktionen übergeben.
<?php
$content_arrays["modals"]= array();
$content_arrays["js_custom"] = array();
class Array_Pushing_Example_1 {
public $content_arrays;
private $push_value_1;
private $push_value_2;
private $push_value_3;
private $push_value_4;
private $values;
private $external_values;
public function __construct($content_arrays){
$this->content_arrays = $content_arrays;
}
public function array_push_1(){
$this->push_values_1 = array(1,"2B or not 2B",3,"42",5);
$this->push_values_2 = array("a","b","c");
foreach($this->push_values_1 as $this->values){
$this->content_arrays["js_custom"][] = $this->values;
}
foreach($this->push_values_2 as $this->values){
$this->content_arrays["modals"][] = $this->values;
}
return $this->content_arrays;
}
public function array_push_2($external_values){
$this->push_values_3 = $external_values["values_1"];
$this->push_values_4 = $external_values["values_2"];
foreach($this->push_values_3 as $this->values){
$this->content_arrays["js_custom"][] = $this->values;
}
foreach($this->push_values_4 as $this->values){
$this->content_arrays["modals"][] = $this->values;
}
return $this->content_arrays;
}
}
$content_arrays = new Array_Pushing_Example_1($content_arrays);
$content_arrays->content_arrays = $content_arrays->array_push_1();
$external_values = array();
$external_values["values_1"] = array("car","house","bike","glass");
$external_values["values_2"] = array("FOO","foo");
$content_arrays->content_arrays = $content_arrays->array_push_2($external_values);
echo "Array Custom Content Results 1";
echo "<br>";
echo "<br>";
echo "Modals - Count: ".count($content_arrays->content_arrays["modals"]);
echo "<br>";
echo "-------------------";
echo "<br>";
foreach($content_arrays->content_arrays["modals"] as $modals){
echo $modals;
echo "<br>";
}
echo "<br>";
echo "JS Custom - Count: ".count($content_arrays->content_arrays["js_custom"]);
echo "<br>";
echo "-------------------";
echo "<br>";
foreach($content_arrays->content_arrays["js_custom"] as $js_custom){
echo $js_custom;
echo "<br>";
}
echo "<br>";
?>
Antwort 2 - Eine einfache Änderung würde sie jedoch an moderne Standards anpassen. Deklarieren Sie einfach Ihre Arrays in der Klasse.
<?php
class Array_Pushing_Example_2 {
public $content_arrays;
private $push_value_1;
private $push_value_2;
private $push_value_3;
private $push_value_4;
private $values;
private $external_values;
public function __construct(){
$this->content_arrays["modals"] = array();
$this->content_arrays["js_custom"] = array();
}
public function array_push_1(){
$this->push_values_1 = array(1,"2B or not 2B",3,"42",5);
$this->push_values_2 = array("a","b","c");
foreach($this->push_values_1 as $this->values){
$this->content_arrays["js_custom"][] = $this->values;
}
foreach($this->push_values_2 as $this->values){
$this->content_arrays["modals"][] = $this->values;
}
return $this->content_arrays;
}
public function array_push_2($external_values){
$this->push_values_3 = $external_values["values_1"];
$this->push_values_4 = $external_values["values_2"];
foreach($this->push_values_3 as $this->values){
$this->content_arrays["js_custom"][] = $this->values;
}
foreach($this->push_values_4 as $this->values){
$this->content_arrays["modals"][] = $this->values;
}
return $this->content_arrays;
}
}
$content_arrays = new Array_Pushing_Example_2();
$content_arrays->content_arrays = $content_arrays->array_push_1();
$external_values = array();
$external_values["values_1"] = array("car","house","bike","glass");
$external_values["values_2"] = array("FOO","foo");
$content_arrays->content_arrays = $content_arrays->array_push_2($external_values);
echo "Array Custom Content Results 1";
echo "<br>";
echo "<br>";
echo "Modals - Count: ".count($content_arrays->content_arrays["modals"]);
echo "<br>";
echo "-------------------";
echo "<br>";
foreach($content_arrays->content_arrays["modals"] as $modals){
echo $modals;
echo "<br>";
}
echo "<br>";
echo "JS Custom - Count: ".count($content_arrays->content_arrays["js_custom"]);
echo "<br>";
echo "-------------------";
echo "<br>";
foreach($content_arrays->content_arrays["js_custom"] as $js_custom){
echo $js_custom;
echo "<br>";
}
echo "<br>";
?>
Beide Optionen geben dieselben Informationen aus und ermöglichen es einer Funktion, Informationen von einem Array und Sub-Arrays an eine beliebige Stelle im Code zu übertragen und abzurufen (vorausgesetzt, die Daten wurden zuerst übertragen). Die zweite Option bietet mehr Kontrolle darüber, wie die Daten verwendet und geschützt werden. Sie können so verwendet werden, wie sie nur Ihren Anforderungen entsprechen. Wenn sie jedoch zum Erweitern eines Controllers verwendet werden, können sie ihre Werte für eine der vom Controller verwendeten Klassen freigeben. Keine der beiden Methoden erfordert die Verwendung eines Global (s).
Ausgabe:
Array Benutzerdefinierte Inhaltsergebnisse
Modalitäten - Anzahl: 5
ein
b
c
FOO
foo
JS Custom - Anzahl: 9
1
2B oder nicht 2B
3
42
5
Auto
Haus
Fahrrad
Glas