2013-06-17 6 views
0

Я не очень знаком того, как PHP обрабатывает массив, в .NET я могу получить доступ к массив, используя этот методPhP многомерный массив выборки

array[x][y]; 

Мой вопрос:

Я извлечения записей из базы данных и вернуть его к будет заполняться $res_merchant_field

$res_merchant_field = $this->CI->merchantfield_model->merchantfield_list($str_where); 

и $res_merchant_field с этой записью :

Array 
(
    [0] => stdClass Object 
     (
      [MFID] => 1 
      [MFName] => Bill No 
      [FTID] => 1 
      [DTID] => 1 
      [MFRequired] => 1 
      [MFDefaultValue] => 
      [MFDueDate] => 0 
      [MFToBePaid] => 0 
      [MFMaxLength] => 12 
      [MFOrderNo] => 1 
      [MFStatus] => 1 
     ) 

    [1] => stdClass Object 
     (
      [MFID] => 2 
      [MFName] => Gallons Consumed 
      [FTID] => 1 
      [DTID] => 2 
      [MFRequired] => 1 
      [MFDefaultValue] => 
      [MFDueDate] => 0 
      [MFToBePaid] => 0 
      [MFMaxLength] => 5 
      [MFOrderNo] => 2 
      [MFStatus] => 1 
     ) 

    [2] => stdClass Object 
     (
      [MFID] => 3 
      [MFName] => Amount Due 
      [FTID] => 3 
      [DTID] => 1 
      [MFRequired] => 1 
      [MFDefaultValue] => 
      [MFDueDate] => 0 
      [MFToBePaid] => 1 
      [MFMaxLength] => 15 
      [MFOrderNo] => 3 
      [MFStatus] => 1 
     ) 

) 

Как я могу получить доступ и извлечь запись из этого массива с этим условием:

  1. это будет выглядеть через весь массив найти конкретный индекс, позволяет сказать, что индекс 0, который является MFID,
  2. после получения MFID и сравнения его с другой переменной, если это правда,
  3. он получит DTID для этого массива MFID.

пример:

прибудет MFID = 1, то DTID будет 1, если я получаю MFID = 3, то DTID будет 1.

или как я могу получить доступ к массиву, как $array[x][y] ?

Заранее спасибо.

ответ

1

Проблема в том, что второй уровень не является массивом, а вместо этого объектом, для доступа к свойству, вам придется использовать этот формат.

$array[$x]->$y; 

К сожалению, вы не можете получить доступ к свойству по индексу сделать о получить MFID от 0-го пункта вам нужно будет сказать

$array[0]->MFID; 
+0

Большое спасибо Orangepill !! которые решают проблему! – Ponce

+0

Привет, снова Orangepill, это вопрос о последующей деятельности, хотя, почти такой же вопрос, как и выше, мне удалось решить начальную проблему, теперь я создаю такой массив: Array ( [0] => Array ( [0] => 11 [1] => 123 [2] => 232,22 ) [1] => Массив ( [0] => 1 [1] => 2 [2] => 3 ) ) Я попробовал метод $ validate_field [0] -> 0; но он не работает. еще раз спасибо. – Ponce

+0

теперь это массив массивов, и вы можете использовать нотацию [$ x] [$ y]. Расскажите здесь в исходном вопросе 'stdClass Object' в var dump – Orangepill

Смежные вопросы