Javascript 浏览器游戏库存系统,检查项目是否在字符 JSON 文件中

Javascript browser game inventory system, checking if item is in characters JSON file

我是编程新手,我正在通过编写一个简单的增量游戏来学习。 目前我正在研究发明家系统。 我在游戏中有一个烹饪技巧,它有一个脚本,可以获取生的物品,并根据机会烹饪或燃烧它们。

我现在正在尝试制定一个库存系统来保存行动后的物品。 我有一个字符 JSON 文件(链接到一个 firebase UID)

{
  "character":[
    {
    "Username"  :  "Tester01",
    "cooklvl"   :  "1",
    "cookxp"    :  "0"
}
],
"items" :[
{
"rf0000" : 0,
"rf0001" : 0,
"rf0002" : 0,
"rf0003" : 0,
"rf0004" : 0,
"rf0005" : 0,
"rf0006" : 0,
"rf0007" : 0
}
]
}

我想使用 PHP 将要按 ID 存储的项目添加到 post 我的文件服务器。

<?php 
$cookitem = $_POST['cookitem'];
$a = "../json/";
$b = $_POST['uid'];
$c = ".json";
$filename = $a.$b.$c;

$json_object = file_get_contents($filename);
$data = json_decode($json_object, true);
$data['cookitem'] = ++$cookitem;
$json_object = json_encode($data, JSON_NUMERIC_CHECK);
file_put_contents($filename, $json_object);

?>

我目前有这个,但我不想一次添加所有项目并调整数量。我想使用 PHP.

动态添加和删除它们

所以我需要检查以下内容:playerdata.json 中是否存在项目“RF0051”? 如果没有添加它并将数量设置为 1。 如果确实存在,则数量加 1。

我怎样才能在 php 中做到这一点?另外,有没有更好的方法可以解决这个问题?最终目标是拥有相当多的物品。在增长和服务器资源方面推到 JSON 我是搬起石头砸自己的脚吗?

如果您知道要比较的字符串,可以将其保存在变量 $yourString 中,然后使用 if-statement 检查它是否存在:

 <?php
 $yourString = strtolower("RF0051");

 $json_object = file_get_contents($filename);
 $data = json_decode($json_object, true);

 if($data['items'][$yourString] != null){
    //It exists
 }

 ?>