За последние 24 часа нас посетили 17840 программистов и 1633 робота. Сейчас ищут 942 программиста ...

Сравнение ключей массива.

Тема в разделе "PHP для новичков", создана пользователем Reletivis, 10 июл 2017.

  1. Reletivis

    Reletivis Новичок

    С нами с:
    9 июл 2017
    Сообщения:
    5
    Симпатии:
    0
    Имеется вот такой вот массив:

    PHP:
    1. $skills = array(
    2.   'Barter' => 0.15,
    3.   'Big Guns' => 0.15,
    4.   'Energy Weapons' => 0.15,
    5.   'Explosives' => 0.15,
    6.   'Lockpick' => 0.15,
    7.   'Medicine' => 0.15,
    8.   'Melee Weapons' => 0.15,
    9.   'Repair' => 0.15,
    10.   'Science' => 0.15,
    11.   'Small Guns' => 0.15,
    12.   'Sneak' => 0.15,
    13.   'Speech' => 0.15,
    14.   'Unarmed' => 0.15,
    15.   );
    В ключах у меня название скилов, а в значении собственно значение прокачки данных скилов.
    После чего я ввожу переменную, которая будет принимать значение из того, что мы введём в консоль:
    $skill = fgets(fopen("php://stdin", "r"));
    В консоль я буду вводить название одного из скилов и мне нужно, чтобы значение переменной $skill сравнивалось с каждым из ключей массива, то есть, когда названия скилов будут одинаковыми в значение этого скила будет прибавляться 0.15.
    Собственно может кто подкинет идею, как это реализовать?
     
    #1 Reletivis, 10 июл 2017
    Последнее редактирование модератором: 13 июл 2017
  2. Reletivis

    Reletivis Новичок

    С нами с:
    9 июл 2017
    Сообщения:
    5
    Симпатии:
    0
  3. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Вы хотите запустить демон-процесс, который будет выполняться в бесконечном цикле, пока не закроете консоль?
    Или этот массив будет храниться в сессии и скрипт будет запускаться только для выполнения одной команды?

    Сравнение можно реализовать через
    PHP:
    1. if(isset($skills[$skill]))
    2. {
    3.     ...
    4. }
     
    #3 Maputo, 11 июл 2017
    Последнее редактирование: 11 июл 2017
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    1. пхп умеет работать с консолью без костылей через волшебную магию переменной $argv https://php.ru/manual/reserved.variables.argv.html

    2. сравнивать с каждым из ключей не нужно. ключ на то и ключ, что он однозначно идентифицирует член массива, т.е. он либо есть либо нет.

    3. ну нашел, прибавил, дальше что? куда это значение пойдёт? ты запустил пхп в консоли, он там сам по себе работает, ничего не затрагивает. Отработает и умрёт, так никому ничего не передав и не сообщив. Какой в этом толк?