2014-09-12 2 views
0

У меня есть массив, который выглядит примерно так:Как хранить каждое значение массива в переменную с PHP

Array 
(
    [2] => http://www.marleenvanlook.be/admin.php 
    [4] => http://www.marleenvanlook.be/checklogin.php 
    [5] => http://www.marleenvanlook.be/checkupload.php 
    [6] => http://www.marleenvanlook.be/contact.php 
) 

То, что я хочу сделать, это сохранить каждое значение из этого массива в переменную (с помощью PHP) , Так, например:

$something1 = "http://www.marleenvanlook.be/admin.php"; 
$something2 = "http://www.marleenvanlook.be/checklogin.php"; 
... 
+7

Почему вы хотите это сделать? –

+2

Вы можете получить доступ к элементам массива напрямую, используя '$ arr [#]', поэтому для экземпляров 'echo $ arr [2];' будет выводить 'http: // www.marleenvanlook.be/admin.php'. Это проще, чем настройка переменной для каждого из них, не говоря уже о SLIGHTLY более эффективной, поскольку вы не будете устанавливать больше переменных, чем необходимо. –

+4

Вы явно решаете неправильную проблему – Yang

ответ

0

Хорошо .. вы могли бы сделать что-то подобное?

$myArray = array("http://www.marleenvanlook.be/admin.php","http://www.marleenvanlook.be/checklogin.php","etc"); 

$i = 0; 
foreach($myArray as $value){ 
    ${'something'.$i} = $value; 
    $i++; 
    } 

echo $something0; //http://www.marleenvanlook.be/admin.php 

Это динамически создавать переменные с именами, как $something0, $something1 и т.д., содержащий значение массива, назначенного в foreach.

Если вы хотите, чтобы ключи быть вовлеченным вы также можете сделать это:

$myArray = array(1 => "http://www.marleenvanlook.be/admin.php","http://www.marleenvanlook.be/checklogin.php","etc"); 

foreach($myArray as $key => $value){ 
    ${'something'.$key} = $value; 
    } 

echo $something1; //http://www.marleenvanlook.be/admin.php 
0

PHP есть нечто, называемое variable variables, который позволяет назвать переменную со значением другой переменной.

$something = array(
    'http://www.marleenvanlook.be/admin.php', 
    'http://www.marleenvanlook.be/checklogin.php', 
    'http://www.marleenvanlook.be/checkupload.php', 
    'http://www.marleenvanlook.be/contact.php', 
); 

foreach($something as $key => $value) { 
    $key = 'something' . $key; 
    $$key = $value; 

    // OR (condensed version) 
    // ${"something{$key}"} = $value; 
} 

echo $something2; 
// http://www.marleenvanlook.be/checkupload.php 

Но вопрос почему вы хотите сделать это? Arrays предназначены быть доступны с помощью клавиш, так что вы можете просто сделать:

echo $something[2]; 
// http://www.marleenvanlook.be/checkupload.php 
-3

Что бы я сделал это:

$something1 = $the_array[2]; 
$something2 = $the_array[4]; 
+1

И вы будете делать это вручную каждый раз, когда будет добавлен новый ключ? – Yang

+0

он спросил: «Что я хочу сделать, это сохранить каждое значение из этого массива в переменную» - приведенный выше пример очень прост. – unixmiah

+0

, если он хочет прочитать массив с циклом foreach, он может выполнить переменную именовать так же, как и – unixmiah

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