Дві відповіді
1. Відповідь на задане питання.
2. Проста зміна дорівнює кращому шляху!
Відповідь 1 - Передайте масив Vars __construct () у класі, ви також можете залишити конструкцію порожньою і натомість передати масиви через свої функції.
<?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>";
?>
Відповідь 2 - Однак проста зміна дозволить поставити її у відповідність із сучасними стандартами. Просто заявіть свої масиви в класі.
<?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>";
?>
Обидва варіанти виводять одну і ту ж інформацію і дозволяють функції проштовхувати та отримувати інформацію з масиву та допоміжних масивів у будь-яке місце коду (враховуючи, що дані були передані першими). Другий варіант дає більше контролю над тим, як дані використовуються та захищаються. Вони можуть бути використані, як це просто модифікується під ваші потреби, але якщо вони були використані для розширення контролера, вони могли б поділитися своїми значеннями серед будь-якого класу, який використовує контролер. Жоден із методів не вимагає використання Глобалу (ів).
Вихід:
Результати користувацького вмісту масиву
Модалі - Кількість: 5
a
b
c
ФОО
foo
JS Custom - Кількість: 9
1
2B чи ні 2B
3
42
5
автомобіль
будинок
велосипед
скло