いいえ私がプレイしているゲーム(Runescape)のボスキルログを作成しようとしています。私はインターネット上で、開発者があなたがゲームでやっているさまざまな活動を記録する冒険のログを持つapiを持っているのに十分な優しさがあることを発見しました。だから私はそうように構成された多次元配列への情報だ:値の一部の配列を検索する方法
Array
(
[magic] => 5379429
[questsstarted] => 5
[totalskill] => 2333
[questscomplete] => 134
[questsnotstarted] => 95
[totalxp] => 163169890
[ranged] => 18656921
[activities] => Array
(
[0] => Array
(
[date] => 17-Dec-2017 21:51
[details] => I killed 8 graceful followers of Armadyl, all called Kree'arra. The gods have little imagination for names.
[text] => I killed 8 Kree'arras.
etc
.
.
)
を上記の配列は、それが大きな配列であるので、私はそれがあまりにも長い間、これをしないために短縮配列全体ではありません。私がしようとしているのは、「私はxボスを殺した」という値を得るだけです。この場合ボスはクリーアラになるでしょう。どのような私は困惑してしまったのは、文字列のようなので、変更番号が含まれていることである。
ので、私が使用しカント
を「私は3 kree'arrasを殺した」
を「私は5 kree'arrasを殺しました」 if文は、比較演算子を使用するための正確な文字列を決して知りません。 array_search('I killed', array_column($runemetrics, 'text'))
を使ってみましたが、空白の画面が表示されました。私はstackoverflowで見つけた答えの束を試してみましたが、空白の画面が表示されたか、または部分的に私が望むものでした。私はこれが簡単な解決策だと思っています。ここに私のコードは次のとおりです。
$get_runemetrics = file_get_contents("https://apps.runescape.com/runemetrics/profile/profile?user=Thee_Newb&activities=20");
$runemetrics = json_decode($get_runemetrics, true);
if(isset($runemetrics["activities"]) === TRUE){
for($i = 0; $i < count($runemetrics["activities"]); $i++){
echo $runemetrics["activities"][$i]["text"];
}
}
編集:私は上司があまりにも
を持っているかどうかをチェックするために
strpos()
を使用することができますを変更することを言及するのを忘れ、残りは同じままである場合、比較文字列内の数字の位置にワイルドカードを置くと、ifステートメントで動作する可能性があります。 – Geshode私はボスも変わったと言って忘れました –