亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎樣才能在 PHP 中修復這個數組?

我怎樣才能在 PHP 中修復這個數組?

PHP
繁花不似錦 2023-05-12 14:17:17
我有這個網站名稱數組(文本字符串):#Array of website names$sitearray = array('pocb','diario','mlp','watch','music','games','fb','tt','tasks','years','2018', #10'2019','2020','stories','nw','pequenata','spaceliving','nazzevo','ls','mf','wt','stake2','textmaker','thingsido',);我有這個變量數組:#Websites array$array = $sitearray;$sites = array($sitepocb = $array[0],$sitediario = $array[1],$sitemlp = $array[2],$sitewatch = $array[3],$sitemusic = $array[4],$sitegames = $array[5],$sitefb = $array[6],$sitett = $array[7],$sitetasks = $array[8],$siteyears = $array[9],$site2018 = $array[10], $site2019 = $array[11], $site2020 = $array[12],$sitestories = $array[13],$sitenw = $array[14],$sitepqnt = $array[15],$sitesl = $array[16],$sitenazzevo = $array[17],$sitels = $array[18],$sitemf = $array[19],$sitewt = $array[20],$sitestake2 = $array[21],$sitetextmaker = $array[22],$sitethingsido = $array[23],);我如何才能在不丟失 $sites 數組每一行開頭的變量的情況下自動執行此操作?像這樣:$i = 0;while ($i <= count($sitearray) - 1) {    $sitenamesarray[$i] = $sitepqnt = $sitearray[$i];    echo $sitenamesarray[$i].'<br />';    $i++;}echo $sitepqnt;但我無法將 $sitepqnt 變量更改為新變量。如果我要在另一個代碼中使用這些名稱變量,就像使用這個:$sitearray[15] 但是如果我在 $sitearray 中添加另一個變量,我將不得不將所有這些 $sitearray[15] 更改為另一個數字,我怎樣才能制作一個網站名稱數組,同時為它們保留自定義變量(如 $sitepqnt)?
查看完整描述

2 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

您可以遍歷數組并創建一個變量。


$sitearray = [

    'pocb', 'diario', 'mlp', 'watch', 'music', 'games', 'fb', 'tt',

    'tasks', 'years', '2018', '2019', '2020', 'stories', 'nw', 'pequenata',

    'spaceliving', 'nazzevo', 'ls', 'mf', 'wt', 'stake2', 'textmaker', 'thingsido'

];


foreach($sitearray as $value) {

    ${"site$value"} = $value;

}


print_r($GLOBALS);

然后變量在當前范圍內。(縮短輸出)


[sitepocb] => pocb

[sitediario] => diario

[sitemlp] => mlp

[sitewatch] => watch

[sitemusic] => music

[sitegames] => games

[sitefb] => fb

[sitett] => tt

[sitetasks] => tasks

[siteyears] => years

[site2018] => 2018

[site2019] => 2019

[site2020] => 2020

[sitestories] => stories

[sitenw] => nw

[sitepequenata] => pequenata

[sitespaceliving] => spaceliving

[sitenazzevo] => nazzevo

[sitels] => ls

[sitemf] => mf

[sitewt] => wt

[sitestake2] => stake2

[sitetextmaker] => textmaker

[sitethingsido] => thingsido


所以如果你echo $sitethingsido;會得到


事物


查看完整回答
反對 回復 2023-05-12
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

如果我正確理解了這個問題,一種可能的方法是這樣的:


<?php


$sitearray = array(

    'pocb',

    'diario',

    'mlp',

    'watch',

    'music',

    'games',

    'fb',

    'tt',

    'tasks',

    'years',

    '2018',

    '2019',

    '2020',

    'stories',

    'nw',

    'pequenata',

    'spaceliving',

    'nazzevo',

    'ls',

    'mf',

    'wt',

    'stake2',

    'textmaker',

    'thingsido',

);

$sites = array();


$i = 0;

while ($i <= count($sitearray) - 1) {

    // Generate variable & key name

    $site_key = 'site_' . $sitearray[$i];

    // Fill $sites array

    $sites[$site_key] = $sitearray[$i];

    // Create auto-generated variables like '$site_textmaker'

    $$site_key = $sitearray[$i];


    $i++;

}


var_dump($sites); /* -->

array(24) {

    ["site_pocb"] => string(4) "pocb"

    ["site_diario"] => string(6) "diario"

    ["site_mlp"] => string(3) "mlp"

    ["site_watch"] => string(5) "watch"

    ["site_music"] => string(5) "music"

    ["site_games"] => string(5) "games"

    ["site_fb"] => string(2) "fb"

    ["site_tt"] => string(2) "tt"

    ["site_tasks"] => string(5) "tasks"

    ["site_years"] => string(5) "years"

    ["site_2018"] => string(4) "2018"

    ["site_2019"] => string(4) "2019"

    ["site_2020"] => string(4) "2020"

    ["site_stories"] => string(7) "stories"

    ["site_nw"] => string(2) "nw"

    ["site_pequenata"] => string(9) "pequenata"

    ["site_spaceliving"] => string(11) "spaceliving"

    ["site_nazzevo"] => string(7) "nazzevo"

    ["site_ls"] => string(2) "ls"

    ["site_mf"] => string(2) "mf"

    ["site_wt"] => string(2) "wt"

    ["site_stake2"] => string(6) "stake2"

    ["site_textmaker"] => string(9) "textmaker"

    ["site_thingsido"] => string(9) "thingsido"

}

*/


var_dump($sites['site_' . $sitearray[2]]); // -> string(3) "mlp"


var_dump($site_textmaker); // -> string(9) "textmaker"


?>

site_前綴(而不是site在問題中使用)用于提高可讀性。您可以自由更改它。


查看完整回答
反對 回復 2023-05-12
  • 2 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號