このコードを見てください。
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_Push($GET, $rule[0] => $rule[1]); */
私はこのようなものを探しています:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
これを行う機能はありますか? (array_Push
はこの方法では動作しません)
次のキーを決定する方法がないので、連想配列に相当するarray_Push()
はありません。
あなたが使用する必要があります
$arrayname[indexname] = $value;
Pushing配列に値を入れると、自動的にその数値キーが作成されます。
配列にキーと値のペアを追加するとき、あなたはすでにキーを持っています、あなたのためにそれを作成する必要はありません。キーを配列にプッシュしても意味がありません。配列内の特定のキーの値のみを設定できます。
// no key
array_Push($array, $value);
// same as:
$array[] = $value;
// key already known
$array[$key] = $value;
配列を結合し、追加した配列のキーを保持するには、結合演算子(+
)を使用できます。例えば:
<?php
$arr1 = array('foo' => 'bar');
$arr2 = array('baz' => 'bof');
$arr3 = $arr1 + $arr2;
print_r($arr3);
// prints:
// array(
// 'foo' => 'bar',
// 'baz' => 'bof',
// );
だからあなたは$_GET += array('one' => 1);
を行うことができます。
http://php.net/manual/en/function.array-merge.php のドキュメントに、共用体演算子とarray_merge
の使用方法の詳細があります。
私は自分の答えを表に加えたいと思います。
//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);
これが誰かに役立つことを願っています
まさにペッカが言ったこと...
別の方法として、あなたが望むならおそらくおそらくこのようにarray_mergeを使うことができます:
array_merge($_GET, array($rule[0] => $rule[1]));
しかし、私はPekkaの方法がおそらくもっと簡単なので好むと思います。
これはuに役立つかもしれない解決策です
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)
私はちょうど同じことを探していました、そして、私は古い学校なので、もう一度、私の考えが違うことに気づきました。私はずっとBASICとPerlに戻り、時にPHPが本当に簡単なことを忘れることがあります。
データベースからすべての設定を取得するためにこの関数を作成しました。3列です。 setkey、item(key)&value(value)そして上記のようにPushを使わずに同じkey/valueを使ってsettingsと呼ばれる配列にそれらを配置します。
本当に簡単&シンプル
//すべての設定を取得 $ settings = getGlobalSettings(); //ユーザーテーマの選択を適用する $ theme_choice = $ settings ['theme']; ..などetc etc .... [。 ] getGlobalSettings(){ $ dbc = mysqli_connect(wds_db_Host、wds_db_user、wds_db_pass)またはdie( "MySQL Error:"。mysqli_error()); [。 mysqli_select_db($ dbc、wds_db_name)またはdie( "MySQLエラー:"。mysqli_error()); $ MySQL = "SELECT * FROM systemSettings"; $ result = mysqli_query($ dbc、$ MySQL); while($ row = mysqli_fetch_array($ result)) { $ settings [$ row ['item']] = $ row ['value ']; //プッシュする必要はありません[ ]} mysqli_close($ dbc); ] $設定を返す[ } ] ____。]
他の記事が説明しているように... phpでは、使用しているときに配列を「プッシュ」する必要はありません。
キー=>値
AND ...最初に配列を定義する必要もありません。
$ array = array();
定義したりプッシュしたりする必要はありません。 $ array [$ key] = $ valueを代入するだけです。それは自動的にプッシュと宣言です。
セキュリティ上の理由から、(P)または(H)省略(P)の保護は、Programming for Dummiesを意味します。つまり、PHPを意味します。この概念は、意図した目的にのみ使用することをお勧めします。その他の方法でセキュリティ上のリスクが生じる可能性があります。そこに、私の免責事項を作りました!
少し変ですが、これは私のために働きました
$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>";
}
少し遅くなりますが、ネストした配列を気にしないのであれば、次のようにします。
$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));
わかりやすくするために、 json_encode($ main_array) と出力すると、 [{"Key": "10"}] のようになります。
$arr = array("key1"=>"value1", "key2"=>"value");
print_r($arr);
//配列を印刷する['key1' => "value1"、 'key2' => "value2"]
最も簡単な方法がまだ投稿されていないのはなぜでしょうか。
$arr = ['company' => 'Apple', 'product' => 'iPhone'];
$arr += ['version' => 8];
2つの配列を array_merge
とマージするのと同じです。
array_Push($ GET、$ GET ['one'] = 1);
私のために働く
こんにちは私は同じ問題を抱えていた私はこの解決策を見つけるあなたは2つの配列を使用してそれらを両方組み合わせる
<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);
print_r($c);
?>
リファレンス: w3schools
簡単な方法:
$GET = array();
$key = 'one=1';
parse_str($key, $GET);
array_Push($arr, ['key1' => $value1, 'key2' => value2]);
これはうまく機能します。配列内にその値を持つキーを作成します
例array_merge()....
$array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);
配列([色] =>緑、[0] => 2、[1] => 4、[2] => a、[3] => b、[形状] =>台形、[4] => 4 、)
最初の位置にkey
とvalue
で追加する
$newAarray = [newIndexname => newIndexValue] ;
$yourArray = $newAarray + $yourArray ;
私は簡単な関数を書きました:
function Push(&$arr,$new) {
$arr = array_merge($arr,$new);
}
新しい要素を簡単に "upsert"できるように
Push($my_array, ['a'=>1,'b'=>2])