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

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

一道PHP面試題

一道PHP面試題

DIEA 2018-08-03 09:41:30
我們的程序運行過程中用到了一個數組a,數組元素是一個Map/Dictionary。數組元素的“鍵”和“值”都是字符串類型。在不同的語言中,對應的類型是:PHP的array, Java的HashMap, C++的std::map, Objective-C的NSDictionary, Swift的Dictionary, Python的dict, JavaScript的object, 等等示例:a0="value1"a0="value2"a1="valueA"...為了方便保存和加載,我們使用了一個基于文本的存儲結構,數組元素每行一個:text="key1=value1;key2=value2nkeyA=valueAn..."要求:請實現一個“保存”函數、一個“加載”函數。text=store(a);a=load(text);這兩個函數分別用于把數組保存到一個文本字符串中、把文本字符串中的內容讀取為數組。必須自己手寫代碼實現保存/加載邏輯,嚴格按照上述的“每行一個、key=value”的格式保存。
查看完整描述

2 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

為啥題目我都沒有讀懂呢,是說數組a = ['a0="value1"', 'a0="value2"', 'a1="valueA"'],然后store(a)函數返回'a0=value1;a0=value2;a1=valueA'。反之load再得到數組a。是這樣嗎,要是這樣的話,就和讀取url參數一樣了。

好吧,在js那就是這樣了吧

function store(a) {

    var str = ''

    str = a.toString().replace(/,/g, ';').replace(/"/g, '')

    return str;

function load(str) {

    var a = str.split(';')

    return a

}

var a = ["a0='value0'", "a1='value1'", "a2='value2'"]

var str = store(a)

console.log(str) //a0=value1;a0=value2;a1=valueA

var b = load(str)

console.log(b) //["a0=value1", "a0=value2", "a1=valueA"]


查看完整回答
反對 回復 2018-08-05
?
莫回無

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

private function store($str){

if(!empty($str)){

    $str = explode(';',$str);

    if(is_array($str) && !empty($str)){

        foreach ($str as $item) {

            list($key,$val) = explode('=',$item);

            $data[$key] = $val;

        }

        return $data;

    }

}



private function load($arr){

    if(is_array($arr) && !empty($arr)){

        foreach($arr as $key=>$val){

            $str[]=$key.'='.$val;

        }

        if(!empty($str)){return implode(';',$str);}

    }

}


查看完整回答
反對 回復 2018-08-05
  • 2 回答
  • 0 關注
  • 1065 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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