将字符串转换为数组

时间:2016-08-23 13:05:44

标签: php

我有以下字符串,我已设法将其清理成清晰的格式:

string(191) "twitter:3 facebookshare_count:5 like_count:0 comment_count:0 total_count:8 click_count:5 buffer:0 pinterest:0 linkedin:0 stumbleupon:0 redditscore:0 ups:8 downs:3 google:4 delicious:0 digg:0 "

我现在正试图接受并创建一个数组,以便每个数字与其平台相关联。

$shares = array(
'twitter' => 3,
'facebookshare_count' => 5,
'like_count' => 0
)

依旧......

我一直在看爆炸功能,使用空格作为分隔符,但我真的坚持如何实现这个最终结果。

我相对较新的PHP,并努力找到用于搜索此问题的单词。我不知道'阵列'或者'对象'这里甚至是正确的术语。

2 个答案:

答案 0 :(得分:1)

$str = 'twitter:3 facebookshare_count:5 like_count:0 comment_count:0 total_count:8 click_count:5 buffer:0 pinterest:0 linkedin:0 stumbleupon:0 redditscore:0 ups:8 downs:3 google:4 delicious:0 digg:0';

$strArray = explode(' ', $str);
$desiredArray = [];
foreach ($strArray as $value) {
    $value = explode(":", $value);
    $desiredArray[$value[0]] = $value[1];
}

答案 1 :(得分:0)

$myString = "twitter:3 facebookshare_count:5 like_count:0 comment_count:0 total_count:8 click_count:5 buffer:0 pinterest:0 linkedin:0 stumbleupon:0 redditscore:0 ups:8 downs:3 google:4 delicious:0 digg:0";

$parseString = explode(" ", $myString);
$newArray = [];

foreach($parseString as $item) {
    $splitItem = explode(":", $item);
    $newArray[$splitItem[0]] = $splitItem[1];
}

foreach($newArray as $key=>$data) {
    echo $key . " " . $data . "<br>";
}

希望它有所帮助!!!