Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Wednesday, December 7, 2016

Exist removed and added new array in PHP

$exist  = [1,2,3];
$update = [1,2,4,5,6];

//Action
//1 - Remove no 3
//Add 4,5 and 6

//Both exist before and after
//1,2

$both_exist = array_intersect($exist,$update);


echo ('Check removed');
$removed = array_diff($exist,$both_exist);
echo '
';
print_r($removed);
echo '
'; echo ('Added'); $combined = array_unique(array_merge($exist,$update)); $added = array_diff($combined,$exist); echo '
';
print_r($added);
echo '
';

Saturday, December 3, 2016

Update image soruce with new source using XML DOM parsing

//Update image src with new src
function upd_img_src_in_html($html_src='', $new_src='')
{
    if($html_src == '' || $new_src == ''):
        return '';
    endif;
    
    $xml = new DOMDocument();
    $xml->loadHTML($html_src, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

    $imgNodes = $xml->getElementsByTagName('img');
    for ($i = $imgNodes->length - 1; $i >= 0; $i--) {
        $imgNode = $imgNodes->item($i);
        $image_file_names = pathinfo($imgNode->getAttribute('src'), PATHINFO_BASENAME);

        if(!empty($image_file_names)):
            $imgNode->setAttribute('src', $new_src.$image_file_names);
            // $imgNode->setAttribute('style', 'max-width:90%; margin-left:auto; margin-right:auto;');
        endif;
    }

    return html_entity_decode($xml->saveHTML());
}

Also: http://php.net/manual/en/domelement.setattribute.php

Thursday, December 1, 2016

PHP function to calculate standard deviation

// Function to calculate square of value - mean
function sd_square($x, $mean) { return pow($x - $mean,2); }

// Function to calculate standard deviation (uses sd_square)    
function sd($array) 
{
    if(count($array)> 0):
    return sqrt(
            array_sum(array_map("sd_square", 
                            $array, 
                            array_fill
                                    (
                                        0,
                                        count($array), 
                                        (array_sum($array) / count($array)) 
                                    ) 
                                ) 
                    ) / (count($array)-1) );
    endif;
}

Friday, February 12, 2016

PHP Date Format

d - The day of the month (from 01 to 31)
D - A textual representation of a day (three letters)
j - The day of the month without leading zeros (1 to 31)
l (lowercase 'L') - A full textual representation of a day
N - The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)
S - The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)
w - A numeric representation of the day (0 for Sunday, 6 for Saturday)
z - The day of the year (from 0 through 365)
W - The ISO-8601 week number of year (weeks starting on Monday)
F - A full textual representation of a month (January through December)
m - A numeric representation of a month (from 01 to 12)
M - A short textual representation of a month (three letters)
n - A numeric representation of a month, without leading zeros (1 to 12)
t - The number of days in the given month
L - Whether it's a leap year (1 if it is a leap year, 0 otherwise)
o - The ISO-8601 year number
Y - A four digit representation of a year
y - A two digit representation of a year
a - Lowercase am or pm
A - Uppercase AM or PM
B - Swatch Internet time (000 to 999)
g - 12-hour format of an hour (1 to 12)
G - 24-hour format of an hour (0 to 23)
h - 12-hour format of an hour (01 to 12)
H - 24-hour format of an hour (00 to 23)
i - Minutes with leading zeros (00 to 59)
s - Seconds, with leading zeros (00 to 59)
u - Microseconds (added in PHP 5.2.2)
e - The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)
I   (capital i) - Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)
O - Difference to Greenwich time (GMT) in hours (Example: +0100)
P - Difference to Greenwich time (GMT) in hours:minutes (added in PHP 5.1.3)
T - Timezone abbreviations (Examples: EST, MDT)
Z - Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)
c - The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)
r - The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)
U - The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)