2013-07-21 2 views
0

Это простой ответ, почти слишком легко, что делает поиск для него своего рода трудно ...Получите значение индексированного массива?

PHP Foreach:

<?php $position = get_post_meta(get_the_ID(), '_moon_draggable_values', false);          
      if ($position){ 
       foreach ($position as $key => $value) 
        echo "{$key} => {$value}\n"; 
      }        
?> 

Это выводит 0 => 233px 1 => 435px все Im пытается сделать это, выберите индекс и эхо, я пробовал что-то вроде echo $value[1], надеясь повторить эхо 435px, это не сработало, а также с $key.

Вывод: Попытка получить конкретное значение индекса массива 0,1 являются только два индекса (только две массивы)

Решение:

<?php $position = get_post_meta(get_the_ID(), '_moon_draggable_values', false);          

        $top = $position[0]; 
        $left = $position[1]; 

?> 
<div style="left:<?php echo $left ?>; top: <?php echo $top?>; position: absolute;"> 

<?php echo htmlspecialchars_decode(get_post_meta ($post->ID, '_moon_sortable_content', true));?> 
</div> 
+1

'Эхо $ позиции [1]' –

+1

Проверьте здесь HTTP: // StackOverflow. com/questions/1450157/how-can-i-get-the-current-array-index-in-a-foreach-loop – elclanrs

+1

Да, например: 'echo $ position [$ key]' –

ответ

1

Чтобы ответить на ваш вопрос, я 'd делать это следующим образом:

//Define the position array: 
    $position = array("left" => "235px", 
         "top" => "432px"); 

    //Checking the position array: 
    if(is_array($position)) 
     //Echo the information. 
     echo "Left: " . $position["left"] . ", Top: " . $position["top"]; 

Что касается вашего вопроса, если он считается goo d практика, я лично не понимаю, почему этого не будет.

И если по какой-то причине, вы не роскошь определения самого индекса, выполните следующие действия:

//Define the position array: 
    $position = array("235px", "432px"); 

    //Checking the position array: 
    if(is_array($position)) 
     //Echo the information. 
     echo "Left: " . $position[0] . ", Top: " . $position[1]; 
+0

Приятный ответ, за исключением того, что массив поступает из информации о базе данных, если что-то меняется в бэкэнде, которое его кладет в базу данных, левые и верхние позиции постоянно меняются , Я не был так специфичен в этом ... Я просто хочу убедиться, что это самый чистый наиболее оптимальный способ вывода его, я обновил OP с помощью кода, который я использую сейчас ... –

+0

Еще раз спасибо, мне очень нравится изучать работая с массивами .. они могут быть очень легкими порой и очень запутанными, если работают с большим количеством данных, но они УДИВИТЕЛЬНЫ .. PHP фантастический ... –

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