PDA

View Full Version : سوال: تابعی که تعداد تکرار یک کاراکتر و برگردونه



fatima a
پنج شنبه 31 فروردین 1391, 10:25 صبح
دوستان من میخوام تابعی بنویسم که بتونه تعداد رخداد هاي يك كاراكتر را در يك
رشته به همراه آرايه اي از موقعيتهاي رخ دادن آن بر گرداند
مثلا
String : “It’s a test . we want to find the sentences ends. If you can right the right function.”
Result : 3 , Positions = {7,28,….} <‐‐‐‐ function (String,’.’);

ممنون میشم کمکم کنید

MMSHFE
پنج شنبه 31 فروردین 1391, 11:00 صبح
function char_count($str, $char, &$count, &$pos) {
$len = mb_strlen($str, 'utf-8');
$count = 0;
$pos = array();
for($i = 0; $i < $len; $i++) {
if(mb_substr($str, $i, 1, 'utf-8') == $char) {
$count++;
$pos[] = $i;
}
}
}

مثالی از نحوه صدا زدن:

char_count('This is a simple text.', 's', $c, $p);
موفق باشید.

fatima a
پنج شنبه 31 فروردین 1391, 11:44 صبح
function char_count($str, $char, &$count, &$pos) {
$len = mb_strlen($str, 'utf-8');
$count = 0;
$pos = array();
for($i = 0; $i < $len; $i++) {
if(mb_substr($str, $i, 1, 'utf-8') == $char) {
$count++;
$pos[] = $i;
}
}
}

مثالی از نحوه صدا زدن:

char_count('This is a simple text.', 's', $c, $p);
موفق باشید.


مرسی
ولی من فراخوانیشو متوجه نشدم

fatima a
پنج شنبه 31 فروردین 1391, 12:06 عصر
یعنی تعداد نشون میده ولی آدرس بقیه موقعیت ها رو نشون نمیده
فقط آرایه خالی برمیگردونه

MMSHFE
پنج شنبه 31 فروردین 1391, 12:30 عصر
مگه میشه؟ من تست کردم. اینو امتحان کنید:


<?php
function char_count($str, $char, &$count, &$pos) {
$len = mb_strlen($str, 'utf-8');
$count = 0;
$pos = array();
for($i = 0; $i < $len; $i++) {
if(mb_substr($str, $i, 1, 'utf-8') == $char) {
$count++;
$pos[] = $i;
}
}
}
char_count('This is a simple text.', 's', $c, $p);
echo '<p>'.$c.'</p>'.PHP_EOL;
var_dump($p);
?>

اینم نمونه خروجی:
85997
موفق باشید.

fatima a
پنج شنبه 31 فروردین 1391, 15:50 عصر
با این دستور
var_dump($p); کار میکنه ولی چرابا eacho ya printf خالی میاد؟؟