2011-12-17 6 views
0

В приведенном ниже скрипте мне нужно добавить элемент «Нет» со значением «» в начало массива.Как добавить элемент в начало массива?

Я использую массив $ addFonts ниже, чтобы сделать это, однако его добавили в меню выбора как «Массив». Что мне не хватает?

$googleFontsArray = array(); 
$googleFontsArrayContents = file_get_contents('http://phat-reaction.com/googlefonts.php?format=php'); 
$googleFontsArrayContentsArr = unserialize($googleFontsArrayContents); 

$addFonts = array(
'' => 'None' 
); 

array_push($googleFontsArray, $addFonts); 

foreach($googleFontsArrayContentsArr as $font) 
{ 
    $googleFontsArray[$font['css-name']] = $font['font-name']; 
} 
+0

Это только показывает, как 'Array' потому, что вы превратили его в строку в какой-то момент - какой ни один из кода выше делает ... Что вы хотите в результате' $ googleFontsArray' выглядеть? – DaveRandom

+0

array ("" => "None", "Abel" => "Abel" и т. Д.) – RegEdit

+0

Вы говорите 'в начало массива ', но я подозреваю, что фактическая позиция в массиве не имеет значения, поскольку вы создают ассоциативный массив, который выглядит как таблица поиска. В этом случае ответ @ Fox ниже, возможно, вы хотите. На самом деле, если вы передадите '$ addFonts' в качестве первого аргумента в' array_merge() 'и' $ googleFontsArray', как второй, он будет в начале в любом случае. Другое дело, что если порядок значителен, вы, скорее всего, хотите их в алфавитном порядке, и в этом случае вы можете просто ['ksort()'] (http://php.net/ksort) его. – DaveRandom

ответ

1

Если просто

$googleFontsArray['None'] = ''; 

Этот массив является ассоциативным.

0

Может быть, вы хотите использовать

array_merge($googleFontsArray, $addFonts);

?

0

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

$a = array('Foo' => 42); 
$a = array('None' => null) + $a; 

Обратите внимание, что большинство людей считают это плохой практикой, чтобы положение пары быть значительным, при использовании ассоциативных массивов. Это уникально для php - другие языки имеют либо векторы (неассоциативные массивы) или hashmaps (Ассоциативные массивы).

1

Добавить первый элемент в массив.

array_unshift() 
$sampleArray = array("Cat", "Dog"); 
array_unshift($sampleArray ,"Horse"); 
print_r($sampleArray); // output array - array('horse', 'cat', 'dog') 

Удалить первый элемент из массива.

array_shift() 
Смежные вопросы