2016-08-09 3 views
1

перерыва я получил массив:PHP проблема массив с массивом

$myArrays = array(5,4,3,2,1); 

foreach($myArrays as $myArray) 
{ 
    echo $myArray; 

    $val = 3; 

    if($myArray == $val) 
    { 
    break; 
    } 

} 

Выход: 5,4,3

Я хотел бы, чтобы это было как

выход: 3,2,1

это возможно?

+0

Да, это возможно, и есть десятки способов сделать это –

+0

Что алгоритм здесь? Является ли массив всегда в порядке? –

+0

@MarkBaker, пожалуйста, сообщите –

ответ

0

Вы можете использовать следующий фрагмент. Первый элемент массива всегда левый, когда вы его определяете.

<?php 

foreach($myArrays as $myArray) 
{ 
    if ($myArray <= 3) { 
    echo $myArray; 
    } 
} 
0
$myArrays = array(5,4,3,2,1); 

foreach($myArrays as $myArray) 
{ 

    $val = 3; 

    if($myArray > $val) 
    { 
    continue; 
    } 
    echo $myArray; 

} 
+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество своей должности. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. Также попробуйте не толковать код с пояснительными комментариями, что уменьшает читаемость кода и объяснений! –

0

Просто иметь boolean переменную вне цикла, чтобы следить за Wheter вы получили элемент, который вы ищете.

Пропустить цикл (используя ключевое слово continue), пока не найдете этот элемент.

Так ваш будет выглядеть примерно так,

$foundelement=false; 
foreach($myArrays as $myArray) 
{ 
    $val = 3; 
    if(!$foundelement && $myArray != $val) 
    { 
    continue; 
    } else { 
    $foundelement=true; 
    } 
    if($foundelement) { 
     echo $myArray; 
    } 
} 

Демо: https://eval.in/620081

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