dongqun1656 2010-01-06 19:56
浏览 103
已采纳

用php创建一个数组类

if i have two arrays i.e

$text = 'i am passed :)';
$fn = array(
':)',
':-)',
';;)'
)

$rep = array(
'smily1',
'smily2',
'smily3'
            );

$output = str_replace($fn, $rep, $text);

echo $output;

i want to make a class for this to use in future where i will want... how can i make a class for it...

and also how can i create a function for this...

  • 写回答

3条回答 默认 最新

  • dsymx68408 2010-01-06 20:02
    关注

    Basically by wrapping your function in a class. If you're looking for more advanced functionality then that, you'll have to specify.

    <?php
    
    class SmileyFilter {
      private $_keys;
      private $_values;
    
      function add($key, $value) {
         $this->_keys[] = $key;
         $this->_values[] = $value;
      }
    
      function add_all($pairs) {
        foreach ($pairs as $key => $value)
          $this->add($key, $value);
      }
    
      function replace($text) {
        return str_replace($this->_keys, $this->_values, $text);
      }
    }
    
    // usage
    
    $s = new SmileyFilter();
    
    $s->add(':)', 'smily1');
    $s->add(':-)', 'smily2');
    $s->add(';;)', 'smily3');
    
    /* OR
    
    $smileys = array(
      ':)'  => 'smily1',
      ':-)' => 'smily2',
      ';;)' => 'smily3');
    
    $s->add_all($smileys);
    
    */
    
    
    $s->replace('i am passed :)'); // "i am passed smily1"
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序