1
PHPを使用してjsonファイルに配列を追加しようとしています。私はそれが(フォーマットは関係ありません)を見てみたいどのようキー配列/インデックス指定のjsonへのPHP配列
:
私の結果は、実際にどのように見えるか{
// Already stored in json file
"swagg_ma_blue":{
"user":"swagg_ma_blue",
"admin":true,
"user_id":"000"
},
// Should be added using php
"dnl":{
"user":"dnl",
"admin":"true",
"user_id":"000"
}
}
:あなたが第二の要素の配列インデックス/キーを参照してくださいとして
{"swagg_ma_blue":{"user":"swagg_ma_blue","admin":true,"user_id":"000"},"0":{"user":"d4ne","admin":true,"user_id":"000"}}
"0"
と呼ばれますが、user
という値が必要です。
マイコード:
<?php
class add_mod_class {
function __construct($username, $status){
$this->username = $username;
$this->status = $status;
$this->user_id = '000';
$this->json_file = 'includes/json/mods.json';
}
function get_json(){
$json_content = file_get_contents($this->json_file);
$json = json_decode($json_content, true);
return $json;
}
function mod_handler(){
if($this->status == 'admin'){
return true;
}else{
return false;
}
}
function add_mod(){
$mods = $this->get_json();
$data = array(
'user' => $this->username,
'admin' => $this->mod_handler(),
'user_id' => $this->user_id
);
array_push($mods, $data);
$new_json_string = json_encode($mods);
return $new_json_string;
}
}
?>
まずアイデアが使用することでしたでした:
$data[$this->username] = array(
'user' => $this->username,
'admin' => $this->mod_handler(),
'user_id' => $this->user_id
);
しかし、これはまだそれに"0":
を返します。私はあらゆる種類の助けに感謝します。
あなたの最初のアイデアが正しいと思われます。もちろん、 'array_push()'がなければ。どのようにしてこのメソッドを呼び出して結果を使用していますか? – jeroen
私は 'json_encode'を再作成するために' array_push() 'を悲しいことに使用しなければなりません。これが行われると、 'file_put_contents()'を使ってjsonコードをファイルに保存し、メソッドを以下のフォーマットで呼び出すことができます: 'if(!empty($ _ POST)){require_once( 'includes/add_mod_class.php '); $ mod_user = $ _POST ['user']; $ mod_status = $ _POST ['ステータス']; $ mod_add =新しいadd_mod_class($ mod_user、$ mod_status); $オブジェクト= $ mod_add-> add_mod(); } ' – d4ne4thelulz
' array_push'配列の最後に数値インデックスを持つ要素を追加します。 'array_push($ mods、$ data)'の代わりに '$ modes [$ this-> username] = $ data'を使ってください。 –