2012-02-09 8 views
3

Как добавить переменную в массив? Пусть говорят, я переменная с именем $new_values:Как добавить переменную в массив?

$new_values=",543,432,888" 

А теперь я хотел бы добавить $new_values функционировать. Я пытался таким образом:

phpfunction1(array(114,763 .$new_values.), $test); 

, но я получил ошибку Parse error: syntax error, unexpected T_VARIABLE, expecting ')'

Как мой код должен выглядеть, если я хотел бы иметь array(114,763,543,432,888)?

ответ

6
$new_values=",543,432,888"; 

должны быть преобразованы в массив:

$new_values= explode(',', "543,432,888"); 

и объединены с существующими значениями с:

array_merge(array(114,763), $new_values); 

весь код должен выглядеть так:

$new_values = explode(',', "543,432,888"); 
$values = array(114,763); 
$values = array_merge($values, $new_values); 
phpfunction1($values, $test); 

Если вы передаете explode в строка, начинающаяся с ,, вы получите первый пустой элемент, поэтому избегайте его.

+0

+1, array_merge - лучшее решение – Alex

-1

try array merge

выглядит следующим образом

phpfunction1(array_merge(array(114,763) ,$new_values), $test);

да и ваш первый массив не является массивом

изменить его в этом

$new_values=Array(543,432,888);

+0

Umm why downvoted. Любите нисходящие нити без комментариев. –

+0

Никто не должен объяснять вам проголосовать.Они анонимны по дизайну, и вы не имеете права на комментарий. – meagar

+0

@meagar ok здесь проблема, которая будет действительно полезной для OP и ОБЩЕСТВЕННОСТИ, всегда полезно перечислить причины, ПОЧЕМУ, вопрос стоит нисходящий. –

2

В вашем примере $ new_values ​​- это строка, но поскольку она разделена запятой, вы можете создать массив непосредственно из нее. Используйте команду $new_array = explode(',', $new_values);, чтобы создать массив из строки.

2

Вам нужно преобразовать строку в массив с помощью функции взрывается, а затем использовать функцию array_merge, чтобы объединить два массива в один:

$new_values=",543,432,888"; 

$currentArray=array(114,763); 

$newArray=array_merge($currentArray,explode(',',$new_values)); 

functionX($newArray...) 

Но следить за пустой элемент массива из-за первым запятая. Для этого используйте «trim ($ new_values, ',')» - см. Ответ от rajesh.

5

, если у вас есть массив уже есть

$values = array(543,432,888); 

Вы можете добавить к ним: $values[]=114; $values[]=763;

Извинения, если я пропустил точку там ...

+0

Спасибо. Это дало мне идею построить свое приложение по-другому! – Lucas

1

вы можете сделать, как это.

$old_values = array(122,555); 
$new_values=",543,432,888"; 
$values = explode(',', trim($new_values, ',')); 
$result = array_merge($old_values, $values); 
print_r($result); 
Смежные вопросы