Lihatlah kode ini:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
I'm mencari sesuatu seperti ini sehingga:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
Apakah ada fungsi untuk melakukan hal ini? (karena array_push
tidak't bekerja dengan cara ini)
Mendorong sebuah nilai ke dalam array secara otomatis membuat kunci numerik untuk itu.
Ketika menambahkan sebuah pasangan kunci-nilai ke array, anda sudah memiliki kunci, anda don't perlu satu yang akan dibuat untuk anda. Mendorong kunci ke dalam sebuah array doesn't make sense. Anda hanya dapat mengatur nilai dari kunci tertentu di array.
// no key
array_push($array, $value);
// same as:
$array[] = $value;
// key already known
$array[$key] = $value;
Anda dapat menggunakan operator union (+
) untuk menggabungkan array dan menjaga kunci-kunci menambahkan array. Misalnya:
<?php
$arr1 = array('foo' => 'bar');
$arr2 = array('baz' => 'bof');
$arr3 = $arr1 + $arr2;
print_r($arr3);
// prints:
// array(
// 'foo' => 'bar',
// 'baz' => 'bof',
// );
Jadi anda bisa melakukan $_GET += array('satu' => 1);
.
Ada's info lebih lanjut tentang penggunaan operator union vs array_merge
dalam dokumentasi di http://php.net/manual/en/function.array-merge.php.
Saya ingin menambahkan jawaban saya ke meja dan di sini adalah :
//connect to db ...etc
$result_product = /*your mysql query here*/
$array_product = array();
$i = 0;
foreach ($result_product as $row_product)
{
$array_product [$i]["id"]= $row_product->id;
$array_product [$i]["name"]= $row_product->name;
$i++;
}
//you can encode the array to json if you want to send it to an ajax call
$json_product = json_encode($array_product);
echo($json_product);
berharap bahwa ini akan membantu seseorang
Ini adalah solusi yang mungkin berguna untuk anda
Class Form {
# Declare the input as property
private $Input = [];
# Then push the array to it
public function addTextField($class,$id){
$this->Input ['type'][] = 'text';
$this->Input ['class'][] = $class;
$this->Input ['id'][] = $id;
}
}
$form = new Form();
$form->addTextField('myclass1','myid1');
$form->addTextField('myclass2','myid2');
$form->addTextField('myclass3','myid3');
array (size=3)
'type' =>
array (size=3)
0 => string 'text' (length=4)
1 => string 'text' (length=4)
2 => string 'text' (length=4)
'class' =>
array (size=3)
0 => string 'myclass1' (length=8)
1 => string 'myclass2' (length=8)
2 => string 'myclass3' (length=8)
'id' =>
array (size=3)
0 => string 'myid1' (length=5)
1 => string 'myid2' (length=5)
2 => string 'myid3' (length=5)
Aku hanya mencari hal yang sama dan saya menyadari bahwa, sekali lagi, saya berpikir ini berbeda karena saya sekolah tua. Aku pergi semua jalan kembali ke DASAR dan PERL dan kadang-kadang aku lupa betapa mudahnya hal-hal yang sebenarnya dalam PHP.
Aku hanya membuat fungsi ini untuk mengambil semua pengaturan dari database di mana mereka adalah 3 kolom. setkey, item (key) & value (nilai) dan menempatkan mereka ke dalam sebuah array disebut pengaturan menggunakan kunci yang sama/nilai tanpa menggunakan push sama seperti di atas.
Cukup mudah & sederhana benar-benar
// Mendapatkan Semua Pengaturan $pengaturan=getGlobalSettings();
// Pengguna Menerapkan Tema Pilihan $theme_choice = $settings['tema'];
.. dll dll dll ....
fungsi getGlobalSettings(){
$dbc = mysqli_connect(wds_db_host, wds_db_user, wds_db_pass) or die("MySQL Error: " . mysqli_error()); mysqli_select_db($dbc, wds_db_name) or die("MySQL Error: " . mysqli_error()); $MySQL = "SELECT * FROM systemSettings"; $result = mysqli_query($dbc, $MySQL); while($row = mysqli_fetch_array($result)) { $settings[$row['item']] = $row['value']; // NO NEED FOR PUSH } mysqli_close($dbc);
return $pengaturan; }
Jadi seperti posting lain menjelaskan... Di php tidak perlu untuk "MENDORONG" array ketika anda menggunakan
Kunci => Nilai
DAN... tidak Ada kebutuhan untuk mendefinisikan array pertama yang baik.
$array=array();
Don't perlu untuk menentukan atau mendorong. Hanya menetapkan $array[$key] = $nilai; Hal ini secara otomatis mendorong dan deklarasi pada waktu yang sama.
Saya harus menambahkan bahwa untuk alasan keamanan, (P)oor (H)elpless (P)rotection, saya berarti Programming for Dummies, maksudku PHP.... hehehe saya sarankan bahwa anda hanya menggunakan konsep ini untuk apa yang saya dimaksudkan. Metode lainnya yang bisa menjadi resiko keamanan. Di sana, membuat saya disclaimer!
Aku bertanya-tanya mengapa sebagian besar simpliest metode belum't telah diposting lagi:
$arr = ['company' => 'Apple', 'product' => 'iPhone'];
$arr += ['version' => 8];
It's yang sama seperti penggabungan dua array bersama-sama dengan array_merge
.
Sedikit terlambat, tetapi jika anda don't pikiran yang bersarang array anda bisa mengambil pendekatan ini:
$main_array = array(); //Your array that you want to push the value into
$value = 10; //The value you want to push into $main_array
array_push($main_array, array('Key' => $value));
Untuk memperjelas, jika anda output json_encode($main_array) yang akan terlihat seperti [{"Kunci":"10"}]
Sedikit aneh, tapi ini bekerja untuk saya
$array1 = array("Post Slider", "Post Slider Wide", "Post Slider");
$array2 = array("Tools Sliders", "Tools Sliders", "modules-test");
$array3 = array();
$count = count($array1);
for($x = 0; $x < $count; $x++){
$array3[$array1[$x].$x] = $array2[$x];
}
foreach($array3 as $key => $value){
$output_key = substr($key, 0, -1);
$output_value = $value;
echo $output_key.": ".$output_value."<br>";
}
hi saya punya masalah yang sama saya menemukan solusi ini, anda harus menggunakan dua array kemudian menggabungkan mereka berdua
<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);
print_r($c);
?>
referensi : w3schools
Contoh array_merge()....
$array1 = array("warna" => "red", 2, 4); $array2 = array("a", "b", "warna" => "hijau", "bentuk" => "trapesium", 4); $hasil = array_merge($array1, $array2); print_r($result);
Array([warna] => hijau,[0] => 2,[1] => 4,[2] => a[3] => b[bentuk] => trapesium,[4] => 4,)