Итерация через многомерный массив, возврат true / yes / 1 или выполнение другого кода, если значение в Key 0 соответствует var, а значение в Key 1 соответствует другому var [duplicate]

Буквально самый простой способ исправить NullReferenceExeption имеет два пути. Если у вас есть GameObject, например, с прикрепленным скриптом и переменной с именем rb (rigidbody), эта переменная начнет пустую, когда вы начнете игру. Вот почему вы получаете NullReferenceExeption, потому что на компьютере нет данных, хранящихся в этой переменной.

В качестве примера я буду использовать переменную RigidBody. Мы можем добавить данные действительно легко на самом деле несколькими способами:

  1. Добавить RigidBody к вашему объекту с помощью AddComponent> Физика> Rigidbody Затем зайдите в свой скрипт и введите rb = GetComponent<Rigidbody>();. Эта строка кода работает лучше всего под ваши функции Start() или Awake().
  2. Вы можете добавить компонент программно и назначить переменную одновременно с одной строкой кода: rb = AddComponent<RigidBody>();

Дальнейшие заметки: если вы хотите, чтобы единство добавлялось компонент для вашего объекта, и вы, возможно, забыли добавить его, вы можете ввести [RequireComponent(typeof(RigidBody))] над объявлением класса (пробел ниже всех ваших приложений). Наслаждайтесь и получайте удовольствие от игр!

55
задан AgentConundrum 11 December 2010 в 02:28
поделиться

3 ответа

Использование цикла foreach без клавиши

foreach($array as $item) {
    echo $item['filename'];
    echo $item['filepath'];

    // to know what's in $item
    echo '<pre>'; var_dump($item);
}

Использование петли foreach с ключом

foreach($array as $i => $item) {
    echo $array[$i]['filename'];
    echo $array[$i]['filepath'];

    // $array[$i] is same as $item
}

Использование for loop

for ($i = 0; $i < count($array); $i++) {
    echo $array[$i]['filename'];
    echo $array[$i]['filepath'];
}

var_dump - действительно полезная функция для получения моментального снимка массива или объекта.

144
ответ дан Ish 25 August 2018 в 19:11
поделиться

Хорошо, я знаю, что есть принятый ответ, но ... для более особых случаев вы также можете использовать этот:

array_map(function($n) { echo $n['filename']; echo $n['filepath'];},$array);

Или более сложным способом:

function printItem($n){
    echo $n['filename'];
    echo $n['filepath'];
}

array_map('printItem', $array);

Это позволит вам более легко манипулировать данными.

5
ответ дан dferenc 25 August 2018 в 19:11
поделиться

Запуск простой, без HTML:

foreach($database as $file) {
    echo $file['filename'] . ' at ' . $file['filepath'];
}

И вы можете иначе манипулировать полями в foreach.

5
ответ дан SilverbackNet 25 August 2018 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: