a:6:{i:0;s:14222:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for php developer in hyderabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.hrpioneer.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.hrpioneer.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for php developer in hyderabad</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">PHP Developer</div>
									<p class="mt7px fw6">Hyderabad</p>
									
				<br>
				<p class="aj mt7px">Greetings for the day!!!<br />
<br />
Warm regards from HRPIONEER Recruitment Solutions...<br />
<br />
We are having someGreetings for the day!!!<br />
<br />
Warm regards from HRPIONEER Recruitment Solutions...<br />
<br />
We are having some immediate job openings with one of our reputed client...<br />
<br />
Company: A well known reputed organisation<br />
<br />
Job Designation: PHP Developer<br />
<br />
<br />
Candidates Profile:<br />
<br />
Any graduates with minimum 3 years of experience in PHP Deveeloper is must<br />
<br />
Strong experience on PHP& MYSQL skills with Codeigniter and OOPs Concepts.  <br />
<br />
Ability to research & develop web applications in PHP independently.  <br />
<br />
Should be an excellent team player.  <br />
<br />
Sound knowledge of coding, server deployment, and troubleshooting.  <br />
<br />
<br />
Job Description<br />
<br />
Previous experience in development of high-end web applications in PHP, MYSQL, and AJAX.  <br />
<br />
Strong understanding of W3C compliant HTML and CSS code.  <br />
<br />
Strong PHP skills, both in Scripting and object-oriented programming skills (OOPS).  <br />
<br />
Strong knowledge of MySQL databases, including their construction, stored procedures, triggers and performance management.  <br />
<br />
Good working knowledge in Codeigniter along with Core PHP.   <br />
<br />
Should have excellent database design and implementation skills.  <br />
<br />
Strong knowledge of JavaScript and JavaScript frameworks, preferably jQuery. <br />
<br />
<br />
Job Location: Hyderabad( Banjara Hills )<br />
<br />
<br />
Salary Package: 50,000 P.M<br />
<br />
<br />
<br />
Forward this mail to your friends or colleagues who are interested in this profile and matches to their requirement.<br />
<br />
  immediate job openings with one of our reputed client...<br />
<br />
Company: A well known reputed organisation<br />
<br />
Job Designation: PHP Developer<br />
<br />
<br />
Candidates Profile:<br />
<br />
Any graduates with minimum 3 years of experience in PHP Deveeloper is must<br />
<br />
Strong experience on PHP& MYSQL skills with Codeigniter and OOPs Concepts.  <br />
<br />
Ability to research & develop web applications in PHP independently.  <br />
<br />
Should be an excellent team player.  <br />
<br />
Sound knowledge of coding, server deployment, and troubleshooting.  <br />
<br />
<br />
Job Description<br />
<br />
Previous experience in development of high-end web applications in PHP, MYSQL, and AJAX.  <br />
<br />
Strong understanding of W3C compliant HTML and CSS code.  <br />
<br />
Strong PHP skills, both in Scripting and object-oriented programming skills (OOPS).  <br />
<br />
Strong knowledge of MySQL databases, including their construction, stored procedures, triggers and performance management.  <br />
<br />
Good working knowledge in Codeigniter along with Core PHP.   <br />
<br />
Should have excellent database design and implementation skills.  <br />
<br />
Strong knowledge of JavaScript and JavaScript frameworks, preferably jQuery. <br />
<br />
<br />
Job Location: Hyderabad( Banjara Hills )<br />
<br />
<br />
Salary Package: 50,000 P.M<br />
<br />
<br />
<br />
Forward this mail to your friends or colleagues who are interested in this profile and matches to their requirement.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 11 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  8  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Client Server</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">PHP</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HTML </span>
												<span class="bdr dib p2px10px mr5px mt2px"> CSS</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Leading Software Company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">We are counted among the leading recruitment consultants and with our services, we have been able to establish our company as a highly reputable organization with a difference. We excel in providing highly qualified and experienced professionals for Senior, Middle and Junior Management Level. We thoroughly analyse and understand various companies’ needs, and as per these requirements, we offer candidates with relevant experience. The pace of change and competition continues to accelerate in every industry and it is very important to identify the capable candidates for the benefit of your company. Our services will be helpful for you to hire the most deserving candidates who would work with the required smartness and skills, ensuring your company’s future needs and demands.

Like the Facebook Page:
https://www.facebook.com/Hrpioneer-Recruitment-Solutions-177574489584829/

Like the Twitter Page: https://twitter.com/vamsi41264288</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">vamsidhar pokala</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Dilsukhnagar, Hyderabad</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8520905622 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:vamshi.hrpioneer@gmail.com"> vamshi.hrpioneer@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="276999">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="693309"><input type="hidden" name="subject" value="Applied for PHP Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-public-relation-pr-advertising-events-fid.htm" title="Public Relation (PR) /  Advertising / Events Jobs">Public Relation (PR) /  Advert...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'ZlN5ZnpRTHo2a3VNWTJzUUM3Qi9lZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for php developer in hyderabad | HRPIONEER Recruitment Solutions";i:2;s:159:"PHP Developer Jobs,PHP Developer Jobs in Hyderabad,PHP Developer Vacancy in Hyderabad,PHP Developer jobs in India,IT Software - Client Server jobs in Hyderabad";i:3;s:230:"Apply for PHP Developer Jobs in Hyderabad India - PHP Developer Vacancy  in IT Software - Client Server field with 3 to 11 years Work Experience, Key Skills are PHP, HTML , CSS, IT Software - Client Server jobs in Hyderabad  India";i:4;s:3412:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "PHP Developer",
		  "baseSalary": " 1  Lac  To  8  Lac ",
		  "description": "Greetings for the day!!!

Warm regards from HRPIONEER Recruitment Solutions...

We are having someGreetings for the day!!!

Warm regards from HRPIONEER Recruitment Solutions...

We are having some immediate job openings with one of our reputed client...

Company: A well known reputed organisation

Job Designation: PHP Developer


Candidates Profile:

Any graduates with minimum 3 years of experience in PHP Deveeloper is must

Strong experience on PHP& MYSQL skills with Codeigniter and OOPs Concepts.  

Ability to research & develop web applications in PHP independently.  

Should be an excellent team player.  

Sound knowledge of coding, server deployment, and troubleshooting.  


Job Description

Previous experience in development of high-end web applications in PHP, MYSQL, and AJAX.  

Strong understanding of W3C compliant HTML and CSS code.  

Strong PHP skills, both in Scripting and object-oriented programming skills (OOPS).  

Strong knowledge of MySQL databases, including their construction, stored procedures, triggers and performance management.  

Good working knowledge in Codeigniter along with Core PHP.   

Should have excellent database design and implementation skills.  

Strong knowledge of JavaScript and JavaScript frameworks, preferably jQuery. 


Job Location: Hyderabad( Banjara Hills )


Salary Package: 50,000 P.M



Forward this mail to your friends or colleagues who are interested in this profile and matches to their requirement.

  immediate job openings with one of our reputed client...

Company: A well known reputed organisation

Job Designation: PHP Developer


Candidates Profile:

Any graduates with minimum 3 years of experience in PHP Deveeloper is must

Strong experience on PHP& MYSQL skills with Codeigniter and OOPs Concepts.  

Ability to research & develop web applications in PHP independently.  

Should be an excellent team player.  

Sound knowledge of coding, server deployment, and troubleshooting.  


Job Description

Previous experience in development of high-end web applications in PHP, MYSQL, and AJAX.  

Strong understanding of W3C compliant HTML and CSS code.  

Strong PHP skills, both in Scripting and object-oriented programming skills (OOPS).  

Strong knowledge of MySQL databases, including their construction, stored procedures, triggers and performance management.  

Good working knowledge in Codeigniter along with Core PHP.   

Should have excellent database design and implementation skills.  

Strong knowledge of JavaScript and JavaScript frameworks, preferably jQuery. 


Job Location: Hyderabad( Banjara Hills )


Salary Package: 50,000 P.M



Forward this mail to your friends or colleagues who are interested in this profile and matches to their requirement.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "3 - 11 Years",
		  "industry": "IT Software - Client Server",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Telangana",
		      "addressRegion": "Hyderabad"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "PHP, HTML , CSS"
		  }
		</script>
		";i:5;N;}