2016-08-17 5 views
0

EDIT:Создание массива из статического массива

У меня есть следующие:

$EXCLUDE['extensions']="199"; 
$EXCLUDE['extensions']="800-1000": 

То, что я хочу сделать, это быть в состоянии создать список значений, либо одну цифру или диапазон.

Конечный результат:

Я это (перечислены ниже), и я хочу, чтобы заменить 799 и 1000 с тем, что у меня есть ниже и установите его так, чтобы он не отображает эти расширения, если они содержат эти цифры. Но я также хочу включить диапазон.

foreach($obj as $file) { 
        if($file['dir_list']=="yes"){ 
         if($file['user']<="799" || $file['user']>="1000"){ 
        $D = $domain; 
        $V = $file['user']; 
        $g = $this->get_presence($D,$V); 
+0

извините, я не понимаю. Это может быть проще, если вы сообщите нам, с чего вы начинаете (как вы получаете свои значения), и что вы хотите в конечном итоге, предоставив очень конкретный пример ввода и ожидаемого вывода – BeetleJuice

+0

Код, который вы указали где вы создаете массив '$ EXCLUDE', который устанавливает ключ' extensions' в '199', а затем перезаписывает его' 800-1000'. Это опечатка? Вы имели в виду добавить к этому ключу? –

+0

@ Don'tPanic: Да, я хочу добавить значения и диапазоны в один массив. –

ответ

1

Сделайте 2-мерный массив значений начала и конца.

$exclude = array(
    array('start' => 199, 'end' => 199), 
    array('start' => 800, 'end => 1000) 
); 

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

foreach ($obj as $file) { 
    $excluded = false; 
    foreach ($exclude as $e) { 
     $num = intval($file['user']); 
     if ($num >= $e['start'] && $num <= $e['end']) { 
      $excluded = true; 
      break; 
     } 
    } 
    if (!$excluded) { 
     $D = $domain; 
     $V = $file['user']; 
     $g = $this->get_presence($D, $V); 
    } 
} 
1

Не уверен, есть ли у понял вопрос правильно, но вот это: инициализация массива может быть сделано с array(), например:

<?php 
$a = array(1, 5, "foo", 8, 19, "some text", "foo"); 
?> 

Это создает массив с семь элементов. Как вы можете видеть, типы внутри массива могут быть смешаны.

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

<?php 
//array of arrays 
$a = array(
      array(1,2,3), 
      array("test", "text"), 
      array(1,2,"foo") 
); 
?> 
Смежные вопросы