2016-06-29 6 views
0

Я пытаюсь обратиться к конкретному элементу из массива по индексу элемента, потому что. Я попробовал метод экстракта, но у меня нет моего массива определяется следующим образом:PHP адресации в массиве по индексу

$var_array = array("color" => "blue", 
       "size" => "medium", 
       "shape" => "sphere"); 

Вместо этого у меня есть:

$contents = array(); 

, которая заполняется в while loop.

В c# я хотел бы сделать, например, что-то вроде этого:

string variable = contents[3]; 

Как я могу достичь чего-то, как выше в PHP?

EDIT: Когда я это сделать:

$param1= $contents[0]; 
echo "$param1"; 

Я получаю это:

Примечание: Массив для преобразования строки в C: \ XAMPP \ HTDOCS \ NUSYS \ pars.php на линии 45 Массив

Edit 2

print_r($contents); это показывает

Array ([0] => Array ([0] => bsd [1] => ghj)) 
+1

Если я понимание вопроса не это просто: '$ MyArray [0]' или любой отра вы хотите? Если это ассоциативный массив, и вы хотите, чтобы числовые индексы пытались ['array_values'] (http://php.net/manual/en/function.array-values.php). – Script47

+1

Пожалуйста, обратитесь к [** php.net-> Массивы **] (http://php.net/manual/en/language.types.array.php). – FirstOne

+0

@Anant Взгляните на мой EDIT2, пожалуйста. – user2179427

ответ

2

Вы должны сделать это, как показано ниже: -

$contents = Array ([0] => Array ([0] => bsd [1] => ghj)) ;//as you shown 

$param1= $contents[0][0]; 
echo $param1; //outputs `bsd` 

Выход: -

  1. https://eval.in/597650
  2. https://eval.in/597663

Примечание: - начать обучение php основы.

Лот другой возможности есть, чтобы сделать то же самое, как: -

$data = array_values($contents[0]); 
echo $data[0]; 

Выход: - https://eval.in/597673.

0
$var = $var_array[index]; 

В вашем примере:

$ Var = $ var_array [3] Хотя индекс 3 будет пустой причиной вы начинаете отсчет от 0 и у вас 3 пунктов, поэтому последний элемент индекса 2

Edit: Вы можете загрузить цельные код? Массив + эхо? Причина: у вас есть массив в вашем массиве? или jsut строк?

+0

Редактор HIs появился, когда я писал об этом ничего не поделать. –

0

если вы хотите энное значение, а затем использовать array_values для преобразования именованных ключей в цифровой клавиш (в копии исходного массива)

что-то вроде этого: ради

$arr = array(); // your initially empty array 
fill_it(); // some processing fills it with key=>value pairs 
$item = array_values($arr)[2]; // pick up the third key (zero-indexed, then 2 is the 3rd key) 
var_dump($item); // output to see it 

и для полноты функция fill_it() может быть как следующий:

// aux func 
function fill_it() { 
    global $arr; 
    // dynamically fill the array 
    $keys = array('color', 'size', 'shape'); 
    $values = array('blue', 'medium', 'sphere'); 
    foreach ($keys as $key) { 
     $arr[$key] = array_shift($values); 
    } 
    //var_dump($arr); 
} 
Смежные вопросы