0

私の目標は、文字列内のすべてのスペース " " を "%" に変換することです。

これが私の機能です:

<?php
$nazov = "dasa sdas da sd";
$buttonNazov = "";

for($i=0;$i<=strlen($nazov);$i++) {
  if($nazov[$i] === " ") {
     $buttonNazov .= "%"; // Line# 6
  } else {
    $buttonNazov .= $nazov[$i]; // Line#12
  }
}

echo $buttonNazov;
?>

私は出力を得ていますが、2つのエラーもあります:

( ! ) Notice: Uninitialized string offset: 15 in C:\wamp\www\test.php on line 6
( ! ) Notice: Uninitialized string offset: 15 in C:\wamp\www\test.php on line 12

dasa%sdas%da%sd
4

2 に答える 2

0

マーク・ベイカーのコメントから:Offset begins at 0, not at 1; so $i<strlen($nazov) and not $i<=strlen($nazov)

以下は同じ書き方のより良い方法です

<?php
$nazov = "dasa sdas da sd";
$buttonNazov = "";
$len = strlen($nazov);

for($i=0; $i<$len; $i++) {
  if("" === $nazov[$i]) {
     $buttonNazov .= "%"; 
  } else {
    $buttonNazov .= $nazov[$i]; 
  }
}
echo $buttonNazov;
?>

スペースを % に置き換えたい場合の別の方法

$buttonNazov = str_replace(' ', '%', $nazov);
于 2013-10-10T20:58:50.863 に答える