Showing posts with label file reading. Show all posts
Showing posts with label file reading. Show all posts

Sunday, August 30, 2015

findings frequency number from a file by using own explode code and frequency code - modularity approach

in functions.php
===========================

<?php
//for exploding a string to array
function myExplode($string)
{
    $length = strlen($string);
    $word = "";
    $words = array();
    for ($i = 0; $i < $length; $i++) {
        if (ord($string[$i]) == 13) {
            continue;
        }
        if ($string[$i] == " " || $i == $length - 1 || $string[$i] == "\n") {

            if ($i == $length - 1) {
                $word .= $string[$i];
            }
            if(!empty($word)){
                $words[] = $word;
            }
            $word = "";
        } else {
            $word .= $string[$i];
        }
    }
    return $words;
}




//for determine frequency
function frequency($words){
    $frequency = array();

    foreach ($words as $word) {
        if(array_key_exists($word, $frequency)){
            $frequency[$word] ++;
        } else {
            $frequency[$word] = 1;
        }
    }

    return $frequency;
}


in file.php
================

<?php
require 'functions.php';
$pointer = fopen('php.txt', 'r');
$string = fread($pointer, filesize('php.txt'));
$words = myExplode($string);
$frequency = frequency($words);
print_r($frequency);

findings frequency number from a file by using own explode code and frequency code

<?php
$pointer = fopen('php.txt', 'r');
$string = fread($pointer, filesize('php.txt'));
$length = strlen($string);
$word = "";
$words = array();

for($i = 0; $i < $length; $i++){
    if(ord($string[$i]) == 13){
            continue;
        }
    if($string[$i] == " " || $i == $length - 1 || $string[$i] == "\n"){

        if($i == $length - 1){
            $word .= $string[$i];
        }
        if(!empty($word)){
            $words[] = $word;
        }
        $word = "";
    }else{
        $word .= $string[$i];
    }
}
//for determine frequency
$frequency = array();

foreach ($words as $word) {
    if(array_key_exists($word, $frequency)){
        $frequency[$word] ++;
    } else {
        $frequency[$word] = 1;
    }
}

foreach($frequency as $key => $value){
    echo "$key => $value <br>";
}

file reading || file handling in php

<?php
/*
 *for reading only
 * */
$pointer = fopen('php.txt', 'r'); //first argument is file name, 2nd parameter is mode some modes are r, w, a, a+
//fgets() return one line from file keep cursor to end of the line
echo fgets($pointer) ;
echo '<br>';
echo fgets($pointer) ;
echo '<br>';
fclose($pointer);



$pointer2 = fopen('php.txt', 'r');
//fgets() return one line from file keep cursor to end of the line
echo fgets($pointer2) ;
echo '<br>';
echo fread($pointer2, filesize('php.txt'));//this line echoing everything (all word) from php.txt
echo '<br>';
fclose($pointer2);


$pointer3 = fopen('php.txt', 'r');
while(!feof($pointer3)){
    echo fgetc($pointer3) . '<br>';
}
fclose($pointer3);
//feof() is file-end-of-file, fgetc() is file-get-character();

css snippet for blogger code highlighting

code, .code {     display: block;     background: beige;     padding: 10px;     margin: 8px 15px; }