OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
php-general Digest 8 May 2013 02:38:45 -0000 Issue 8221

php-general-digest-helplists.php.net
Date: Tue May 07 2013 - 21:38:45 CDT


php-general Digest 8 May 2013 02:38:45 -0000 Issue 8221

Topics (messages 321023 through 321030):

Re: filesize question
        321023 by: marco.behnke.biz
        321030 by: tamouse mailing lists

Problems with array_push?
        321024 by: Jay Blanchard
        321025 by: Stuart Dallas
        321026 by: Larry Martell
        321027 by: Jay Blanchard

array_map() with multiple callback functions
        321028 by: George Langley
        321029 by: Alex Nikitin

Administrivia:

To subscribe to the digest, e-mail:
        php-general-digest-subscribelists.php.net

To unsubscribe from the digest, e-mail:
        php-general-digest-unsubscribelists.php.net

To post to the list, e-mail:
        php-generallists.php.net

----------------------------------------------------------------------

attached mail follows:


> Curtis Maurand <curtismaurand.com> hat am 7. Mai 2013 um 15:16 geschrieben:
>
>
> Hello,
> I'm feeding a filename to a php script on the command line (command line
> program). I run the following against it:
>
> $inputline = fread($inputfile, filesize($argv[1]));

mayve

$inputline = fread($inputfile, filesize($inputfile));

>
> I'm getting an error complaining that the second parameter can't be '0'
>
> any ideas?
>
> thanks,
> Curtis
>
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

--
Marco Behnke
Dipl. Informatiker (FH), SAE Audio Engineer Diploma
Zend Certified Engineer PHP 5.3

Tel.: 0174 / 9722336
e-Mail: marcobehnke.biz

Softwaretechnik Behnke
Heinrich-Heine-Str. 7D
21218 Seevetal

http://www.behnke.biz

attached mail follows:


On Tue, May 7, 2013 at 8:16 AM, Curtis Maurand <curtismaurand.com> wrote:
> Hello,
> I'm feeding a filename to a php script on the command line (command line
> program). I run the following against it:
>
> $inputline = fread($inputfile, filesize($argv[1]));
>
> I'm getting an error complaining that the second parameter can't be '0'

The thing to look for, is how did you get $inputfile out of the
command line, and why you'd expect the file name to be in $argv[1] at
that point? Marco's suggestion isn't really going to work as
$inputfile will be a file handle, and filesize() needs the name of the
file. Maybe want to give us a wider look at what your code is doing?

Generically, you can wrap this up as:

 function binread_file($filename)
 {
   $handle = fopen($filename,'rb');
   if (FALSE === $handle) die("Unable to open $filename");
   $contents = fread($handle, filesize($filename));
   if (FALSE === $contents) die("Unable to read $filename");
   return $contents;
 }

attached mail follows:


I know that I must be missing something really ridiculous, but when I
print_r these arrays they are empty. I have confirmed that $arrayElement
is properly formed, it just seems that array_push is not working. I know
I have done this before, but I cannot find my older code. Can someone
clear the mud from my eyes?

$issueDifferently = array();
$issueProblem = array();
$issueComment = array();

function addToArray($id, $namecred, $product, $level, $type, $message) {
$arrayElement = $id
.'|'.$namecred.'|'.$product.'|'.$level.'|'.$type.'|'.$message;

if('DoDifferently' == $type) {
array_push($issueDifferently, $arrayElement);
} elseif ('Problem' == $type){
array_push($issueProblem, $arrayElement);
} elseif ('Comments' == $type) {
array_push($issueComment, $arrayElement);
}
}
print_r($issueDifferently);
print_r($issueProblem);
print_r($issueComment);

attached mail follows:


Globals being used in a function.

-Stuart

On Tue, May 7, 2013 at 11:06 PM, Jay Blanchard
<jay.blanchardsigmaphinothing.org> wrote:

> I know that I must be missing something really ridiculous, but when I
> print_r these arrays they are empty. I have confirmed that $arrayElement
> is properly formed, it just seems that array_push is not working. I know
> I have done this before, but I cannot find my older code. Can someone
> clear the mud from my eyes?
> $issueDifferently = array();
> $issueProblem = array();
> $issueComment = array();
> function addToArray($id, $namecred, $product, $level, $type, $message) {
> $arrayElement = $id
> .'|'.$namecred.'|'.$product.'|'.$level.'|'.$type.'|'.$message;
> if('DoDifferently' == $type) {
> array_push($issueDifferently, $arrayElement);
> } elseif ('Problem' == $type){
> array_push($issueProblem, $arrayElement);
> } elseif ('Comments' == $type) {
> array_push($issueComment, $arrayElement);
> }
> }
> print_r($issueDifferently);
> print_r($issueProblem);
> print_r($issueComment);
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

attached mail follows:


On Tue, May 7, 2013 at 3:06 PM, Jay Blanchard
<jay.blanchardsigmaphinothing.org> wrote:
> I know that I must be missing something really ridiculous, but when I
> print_r these arrays they are empty. I have confirmed that $arrayElement is
> properly formed, it just seems that array_push is not working. I know I have
> done this before, but I cannot find my older code. Can someone clear the mud
> from my eyes?
>
> $issueDifferently = array();
> $issueProblem = array();
> $issueComment = array();
>
> function addToArray($id, $namecred, $product, $level, $type, $message) {
> $arrayElement = $id
> .'|'.$namecred.'|'.$product.'|'.$level.'|'.$type.'|'.$message;
>
> if('DoDifferently' = $type) {
> array_push($issueDifferently, $arrayElement);
> } elseif ('Problem' = $type){
> array_push($issueProblem, $arrayElement);
> } elseif ('Comments' = $type) {
> array_push($issueComment, $arrayElement);
> }
> }
> print_r($issueDifferently);
> print_r($issueProblem);
> print_r($issueComment);

You have to declare the arrays as global inside your function.

attached mail follows:


[snip]Globals being used in a function. [/snip]

*smacks forehead*

attached mail follows:


Hi all. I want to apply strtolower() AND trim() to all items in an array. But I don't see a way to call multiple callbacks with the array_map() function.
Are my two choices the following:

// 1) nesting two array_map() calls
$cleanData = array_map('trim',(array_map('strtolower',$rawData)));

// 2) call my own function with array_walk()
$cleanData = array_walk('myCleaner',$rawData);

function myCleaner($passedData){
        $cleanData = array_map('strtolower',$passedData);
        $cleanData = array_map('trim',$cleanData);
}
//(Of course, wouldn't bother with a function, just to call array_map twice...)

Just seeing if there's a better way than having to go through the array twice to apply each callback separately. Thanks,

attached mail follows:


Something like:

$cleanData = array_map(function($str){return strtolower(trim($str));},
$passedData);
--
The trouble with programmers is that you can never tell what a
programmer is doing until it’s too late. ~Seymour Cray

On Tue, May 7, 2013 at 4:29 PM, George Langley <george.langleyshaw.ca> wrote:
> Hi all. I want to apply strtolower() AND trim() to all items in an array. But I don't see a way to call multiple callbacks with the array_map() function.
> Are my two choices the following:
>
> // 1) nesting two array_map() calls
> $cleanData = array_map('trim',(array_map('strtolower',$rawData)));
>
>
> // 2) call my own function with array_walk()
> $cleanData = array_walk('myCleaner',$rawData);
>
> function myCleaner($passedData){
> $cleanData = array_map('strtolower',$passedData);
> $cleanData = array_map('trim',$cleanData);
> }
> //(Of course, wouldn't bother with a function, just to call array_map twice...)
>
> Just seeing if there's a better way than having to go through the array twice to apply each callback separately. Thanks,
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>