如何更改正在显示的数组文本?

时间:2014-05-10 20:57:15

标签: php arrays

好吧,我只想打印一个数组的内容然后我想替换数组字符串的内容然后用另一个名字替换它们...有人帮我... 我真的不知道该怎么做,有人能告诉我如何做到这一点以及如何使用preg_replace?在我到处查看如何做到这一点,他们有非常奇怪的符号:

即使在我的代码中,我只是将这些内容放入其中,因为它是其他人所做的>。>即使在php手册网站上......我想我讨厌PHP

<!doctype html>

<html lang="en">
<head>
    <title>test6</title>
</head>
<body>
<!-- Insert your content here -->
<?php
class myArrayContainer{
    function myArrayFunction(){
        return $myArray = array(
            "Name" => "John",
            "LastName" => "Smith",
        );
    }

}
$myShitz = new myArrayContainer();
$myShit = $myShitz->myArrayFunction();
$myShitClass = new myArrayClass($myShit);


//print_r($myShit);
class myArrayClass {



    function __construct($myArray){

        echo ("Printing my Array as Recieved");
        echo ("</br>");
        print_r(array_values($myArray));

       $myProcessClass = new myProcess($myArray);
    }

}

class myProcess {
    function __construct($sameArray){
        $mySentence = serialize($sameArray);
        print_r($mySentence);
        $placements = array ("John" => "Jose", "Smith" => "Tobar");
        preg_replace("/:(\w+)/e", $placements[$1], $mySentence);
    }

}
    ?>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

  1. print_r中的myArrayClass::__construct应打印&#34; John&#34;和#34;史密斯&#34; (没有钥匙)。不是吗?
  2. $mySentence是一个字符串,因此不需要print_r
  3. 您没有对preg_replace结果......
  4. 做任何事情
  5. 您无法更改序列化数据。 PHP的序列化数据很奇怪(不像JSON),所以你不能改变价值观。如果要更改值,请使用json_encode() -> preg_replace() -> json_decode()
  6. $mySentence = json_encode($sameArray); // assoc array in
    $mySentence = preg_replace('/a/', 'b', $mySentence);
    $otherArray = json_decode($mySentence, true); // assoc array out
    

    但要小心。如果你像这样更换它,即使是json也可能搞砸了。